前言

上一篇我們簡(jiǎn)單講述了在EF Core1.1中如何進(jìn)行遷移,本文我們來(lái)講講EF Core1.1中那些不為人知的事,細(xì)摳細(xì)節(jié),從我做起。

顯式創(chuàng)建DbContext實(shí)例

通過(guò)帶OnConfiguring的構(gòu)造函數(shù)

這個(gè)是想必是我們最簡(jiǎn)單的方式了吧,通過(guò)調(diào)用繼承自DbContext的類并且調(diào)用它的無(wú)參構(gòu)造函數(shù),同時(shí)我們需要謹(jǐn)記的時(shí)每當(dāng)實(shí)例化時(shí)我們都需要將其釋放也就是將其實(shí)例包裹在Using中。如下:

using (var context = new EFCoreContext())
{
}

接著通過(guò)重載OnConfiguring來(lái)配置EF Core上下文實(shí)例,如下。

public class EFCoreContext: DbContext
{    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) 
        => optionsBuilder.UseSqlServer(@"Server=.;Database=EFTest;Trusted_Connection=True;");
}

【注意】:重載OnConfiguring和之前EF版本中的OnModelCreating創(chuàng)建模型不一樣,OnModelCreating創(chuàng)建模型上下文只實(shí)例化一次,但是OnConfiguring每實(shí)