Entity Framework 小知识(二)
零、基于代码配置
基于代码配置是EF6新增的一个特性,操作步骤如下:
- 创建DbConfig派生类;
- 配置默认连接工厂;
- 设置Database Provider;
- 设置数据库初始化器;
1. 创建DbConfig派生类
public class EF6Config:DbConfiguration { public EF6Config(){} }
接下来使用 DbConfigurationType 属性在上下文类中设置基于代码的配置类:
[DbConfigurationType(typeof(EF6Config))] public partial class EF6DbContext:DbContext { public EF6DbContext():base("name=EF6DbContext"){} }
2. 配置默认连接工厂
使用 SetDefaultConnectionFactory 方法设置默认连接工厂(以SQL SERVER 数据库为例):
public class EF6Config:DbConfiguration { public EF6Config() { this.SetDefaultConnectionFactory(new System.Data.Entity,Infrastructure.SqlConnectionFactory()); } }
3. 设置Database Provider
使用 SetProviderServices() 方法配置数据库提供程序:
public class EF6Config:DbConfiguration { public EF6Config() { this.SetDefaultConnectionFactory(new System.Data.Entity,Infrastructure.SqlConnectionFactory()); this.SetProviderServices("System.Data.SqlClient",System.Data.Entity.SqlServer.SqlProviderServices.Instance); } }
4. 设置数据库初始化器
在使用 code first 的情况下,可以使用基于代码的配置数据库的初始值:
public class EF6Config:DbConfiguration { public EF6Config() { this.SetDefaultConnectionFactory(new System.Data.Entity,Infrastructure.SqlConnectionFactory()); this.SetProviderServices("System.Data.SqlClient",System.Data.Entity.SqlServer.SqlProviderServices.Instance); this.SetDatabaseInitializer<EF6DbContext>(new CustomDBInitializer(EF6DbContext)()); } }
注:.config 中 <entityframework> 的配置优于代码配置,也就是说,如果同时在 .config 中和代码中都设置了配置选项,则优先使用 .config 中的设置。
相关推荐
Morelia 2020-11-03
love0u 2020-08-16
xiaouncle 2020-07-31
踩风火轮的乌龟 2020-07-26
THEEYE 2020-06-25
DAV数据库 2020-06-17
lightlanguage 2020-06-13
kuoying 2020-06-07
地下库 2020-05-29
HappyHeng 2020-05-28
lysanderK 2020-05-26
Caleb0 2020-05-08
boredbird 2020-05-06
<add key="RedisPath" value="127.0.0.1:6379"/> todo:这里配置自己redis的ip地址和端口号。//ReadServerList:可读的Redis链接地
天空一样的蔚蓝 2020-05-05
cyydjt 2020-05-04
TyCoding 2020-05-03