SQLite Code配置DbConfiguration
2016-06-01 09:54
423 查看
[DbConfigurationType(typeof(SQLiteConfiguration))] public partial class rsapiEntities : DbContext { public rsapiEntities() : base("name=rsapiEntities") { Database.SetInitializer<rsapiEntities>(new MigrateDatabaseToLatestVersion<rsapiEntities, APIDbMigrationsConfiguration>()); //this.Configuration.AutoDetectChangesEnabled = false;//关闭自动跟踪对象的属性变化 this.Configuration.LazyLoadingEnabled = false; //关闭延迟加载 //this.Configuration.ProxyCreationEnabled = false; //关闭代理类 //this.Configuration.ValidateOnSaveEnabled = false; //关闭保存时的实体验证 //this.Configuration.UseDatabaseNullSemantics = true; //关闭数据库null比较行为 //((IObjectContextAdapter) this).ObjectContext.ContextOptions.LazyLoadingEnabled = true; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); //dynamically load all configuration modelBuilder.Configurations.AddFromAssembly(typeof(rsapiEntities).Assembly); //...or do it manually below. For example, //modelBuilder.Configurations.Add(new PartnersMap()); //modelBuilder.Configurations.Add(new EndpointPolicyMap()); //modelBuilder.Configurations.Add(new ThrottlePolicyMap()); //throw new UnintentionalCodeFirstException(); } public virtual DbSet<partners> partners { get; set; } public virtual DbSet<endpoint_policy> endpoint_policy { get; set; } public virtual DbSet<throttle_policy> throttle_policy { get; set; } } internal sealed class APIDbMigrationsConfiguration : DbMigrationsConfiguration<rsapiEntities> { public APIDbMigrationsConfiguration() { AutomaticMigrationsEnabled = true; AutomaticMigrationDataLossAllowed = true; } } public class SQLiteConfiguration : DbConfiguration { public SQLiteConfiguration() { SetProviderFactory("System.Data.SQLite", SQLiteFactory.Instance); SetProviderFactory("System.Data.SQLite.EF6", SQLiteProviderFactory.Instance); Type t = Type.GetType("System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6"); FieldInfo fi = t.GetField("Instance", BindingFlags.NonPublic | BindingFlags.Static); SetProviderServices("System.Data.SQLite", (System.Data.Entity.Core.Common.DbProviderServices)fi.GetValue(null)); } }
相关文章推荐
- oracle 使用sql查找出两张表相同的字段
- 树莓派安装mysql 及开通远程访问设置
- Plsql解除试用期
- Oracle GoldenGate 异构平台同步(Mysql到Oracle)
- 无法删除Oracle用户,提示存在当前连接问题的解决办法
- 查看MDB文件
- 数据库的基本操作
- 数据库隔离级别
- MariaDB GTID 复制同步
- mssql 创建存储过程简单实例
- Oracle安装及遇到的问题
- Oracle
- mssql 创建函数简单实例
- 关于sql的学习(一)
- redis sentinel 集群监控 配置
- Redis 代理 twemproxy
- MySQL触发器入门
- redis学习
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍
- MongoDB快速入门笔记(六)之MongoDB删除文档操作