Entity Framework 小知识(二)

简介: Entity Framework 小知识(二)

零、基于代码配置

基于代码配置是EF6新增的一个特性,操作步骤如下:

  1. 创建DbConfig 派生类;
  2. 配置默认连接工厂;
  3. 设置Database Provider
  4. 设置数据库初始化器;


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 中 的配置优于代码配置,也就是说,如果同时在 .config 中和代码中都设置了配置选项,则优先使用 .config 中的设置。

目录
相关文章
|
XML 存储 数据库连接
Entity Framework学习笔记——edmx文件
上文简单介绍了一下Entity FrameWork,这里说一下EF的核心——edmx文件。 在VisualStudio中建立edmx文件(此例环境为VisualStudio2012)
Entity Framework学习笔记——edmx文件
|
数据库
Entity Framework Core介绍(1)
介绍 Entity Framework (EF) Core 是轻量化、可扩展和跨平台版的常用 Entity Framework 数据访问技术。 EF Core 可用作对象关系映射程序 (O/RM),以便于 .NET 开发人员能够使用 .NET 对象来处理数据库,这样就不必经常编写大部分数据访问代码了。
1031 0
|
存储 开发框架 .NET
Entity Framework基础01
Entity Framework基础01
207 0
Entity Framework基础01
|
数据库 数据库管理
Entity Framework 小知识(一)
Entity Framework 小知识(一)
139 0
|
数据库
Entity Framework 小知识(三)
Entity Framework 小知识(三)
156 0
|
数据库
Entity Framework 小知识(五)
Entity Framework 小知识(五)
144 0
|
索引
Entity Framework 小知识(四)
Entity Framework 小知识(四)
146 0
|
SQL .NET 数据库
Entity Framework Core 2.0 入门
该文章比较基础, 不多说废话了, 直接切入正题. 该文分以下几点: 创建Model和数据库 使用Model与数据库交互 查询和保存关联数据 EF Core支持情况 EF Core的数据库Providers: 此外还即将支持CosmosDB和 Oracle.
1688 0
|
数据库 容器
Entity Framework Core(3)-配置DbContext
设计时 DbContext 配置 EF Core 设计时工具如迁移需要能够发现和创建的工作实例DbContext以收集有关应用程序的实体类型以及它们如何映射到数据库架构的详细信息的类型。 此过程可以为自动,只要该工具可以轻松地创建DbContext,会将其配置同样到它如何将配置在运行时的方式。
966 0