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


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

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

1.代碼配置步驟

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

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

使用配置有兩種方法:

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

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

 

②通過DbConfigurationType屬性標頭來配置:

注意:如果我們使用MySql數據庫的話,屬性標頭設置為  [DbConfigurationType(typeof(MySqlEFConfiguration))] 

 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>());
    }
}

對應的配置文件:

<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系列教程匯總


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM