Entity Framework入門教程(18)---EF6中基於代碼進行配置方式

EF6中基於代碼進行配置方式

  咱們之前對EF進行配置時是在app.config/web.config下的<entityframework>節點下進行配置的,EF6引進了基於代碼的配置方法。咱們能夠根據喜愛來選擇使用哪一種配置方法,當同時使用代碼和配置文件進行配置時,最終使用的是配置文件中的配置(配置文件比代碼配置的優先級更高)。html

1.代碼配置步驟

下邊看一個代碼配置的栗子,首先咱們要新建一個集成DbConfiguration的類web

public class FE6CodeConfig : DbConfiguration
{
    public FE6CodeConfig()
    {
        //define configuration here
    }
}

使用配置有兩種方法:數據庫

①修改app.config文件設置codeConfigurationType:app

<entityFramework codeConfigurationType="EF6DBFirstTutorials.FE6CodeConfig, EF6DBFirstTutorials"></entityFramework>

 

②經過DbConfigurationType屬性標頭來配置:ide

注意:若是咱們使用MySql數據庫的話,屬性標頭設置爲  [DbConfigurationType(typeof(MySqlEFConfiguration))] post

 2.幾個經常使用的配置項

public class FE6CodeConfig : DbConfiguration
{
    public FE6CodeConfig()
    {
        //設置默認的數據庫鏈接池
        this.SetDefaultConnectionFactory(new System.Data.Entity.Infrastructure.SqlConnectionFactory());
       
        //設置數據庫提供者
        this.SetProviderServices("System.Data.SqlClient", System.Data.Entity.SqlServer.SqlProviderServices.Instance);

        //設置數據庫初始化器(僅支持codeFirst模式)
        this.SetDatabaseInitializer<SchoolDBEntities>(new CustomDBInitializer<SchoolDBEntities>());
    }
}

對應的配置文件:this

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
        <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
   <contexts>
        <context type="EF6DBFirstTutorials.SchoolDBEntities, EF6DBFirstTutorials"  >
            <databaseInitializer type="EF6DBFirstTutorials.CustomDBInitializer , EF6DBFirstTutorials">
            </databaseInitializer>
        </context>
    </contexts>    
</entityFramework>

 

EF系列目錄連接:Entity Franmework系列教程彙總spa

相關文章
相關標籤/搜索