在winform上依赖注入sqlsugar,可全局引用

1. 首先创建好一个基本的winform项目

在这里插入图片描述

2. 安装所需的nuget依赖包,sqlsugar和依赖注入框架Autofac,还有由于本次项目用到的是mysql数据库还要安装mysql.data,如果用到别的数据库则按需安装:

在这里插入图片描述

3. 创建一个名为 SqlSugarConfig 的类,该类将在应用程序启动时初始化SqlSugar,类内容如下:。

    public class SqlSugarConfig
    {
    
    
        private static readonly string connectionString = "Data Source=localhost;Database=iimp_jv;User Id=root;Password=root;charset=utf8;port=3306";

        public static SqlSugarClient GetInstance()
        {
    
    
            var db = new SqlSugarClient(new ConnectionConfig()
            {
    
    
                ConnectionString = connectionString,
                DbType = DbType.MySql,
                IsAutoCloseConnection = true,
                InitKeyType = InitKeyType.Attribute
            });

            return db;
        }
    }

在这里插入图片描述

4. 接下来,我们使用依赖注入框架,在应用程序启动时将SqlSugarClient实例化,并将其作为全局引用,在程序入口依赖注入:

 public static IContainer Container {
    
     get; set; }

    [STAThread]
    static void Main()
    {
    
    
        var builder = new ContainerBuilder();

        // Register SqlSugarClient as a singleton
        builder.Register(c => SqlSugarConfig.GetInstance()).As<SqlSugarClient>().SingleInstance();

        // Register forms
        builder.RegisterType<MainForm>().AsSelf().InstancePerDependency();

        Container = builder.Build();

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(Container.Resolve<MainForm>());
    }

在这里插入图片描述

5.项目使用,构造函数初始化sqlsugar,直接使用:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44442366/article/details/129196260