.net4.5.2使用SQLite的配置方法

这篇博客详细介绍了如何在.NET 4.5.2环境中配置并使用SQLite数据库,包括创建实体类、定义上下文、初始化配置,以及在app.config文件中设置配置字段,最后演示了调用方法的操作步骤。其他连接字符串和管理细节则需要读者自己实现。

1.新建实体类

    public class Config
    {
        public string name { get; set; }
        public string value { get; set; }
    }

2.新建上下文

    public class QjContext : DbContext
    {
        #region 构造函数
        public QjContext() : base(DbConfig.ConnectionString)
        {

        }
        protected QjContext(string nameOrConnectionString) : base(nameOrConnectionString)
        {

        }
        #endregion

        /* --------------- 注册实体类 --------------- */
        public virtual DbSet<Config> Config { get; set; }

    }

3.新建配初始化类

    public class QjContextInitializer : DropCreateDatabaseIfModelChanges<QjContext>
    {
        public static void Init()
        {
            Database.SetInitializer(new QjContextInitializer());
        }
    }

4.在要调用的主程序app.config中增加配置字段

  <entityFramework>
    <providers>
      <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
      <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
    </providers>
  </entityFramework>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite" />
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
      <remove invariant="System.Data.SQLite.EF6" />
      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
    </DbProviderFactories>
  </system.data>

5.调用方法

        [TestMethod]
        public void EF模型创建测试()
        {
            DbConfig.Instance.Init();

            if (Database.Exists(DbConfig.DBName))
            {
                Database.SetInitializer(new DropCreateDatabaseIfModelChanges<QjContext>());

            }
            else
            {
                Database.SetInitializer(new CreateDatabaseIfNotExists<QjContext>());
            }

            var path = DbConfig.ConnectionString;
            var connStr = ConfigCommand.ConnectionString;
            Assert.IsTrue(path == connStr);
        }

其他引用以及具体connectstring等管理不过多阐述,请自行实现

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值