8
當我使用LINQ與.dbml文件編程時,只有一個上下文。但是,當我做一個MVC網站時,似乎我爲每個實體都有單獨的上下文(這是MVC教程向我展示瞭如何實現的方式;以及「電影」上下文)。爲什麼使用多個DbContext類?
我:
public class AccountsContext : DbContext
{
public AccountsContext()
: base("DefaultConnection")
{
}
public DbSet<Account> Accounts { get; set; }
}
而且,我有:
public class ClientsContext : DbContext
{
public ClientsContext()
: base("DefaultConnection")
{
}
public DbSet<Client> Clients { get; set; }
}
當我把這些,我要創建獨立的環境中,如:
private AccountsContext db = new AccountsContext();
private ClientsContext clientsContext = new ClientsContext();
...這既煩人又顯得多餘,因爲我知道當我使用LINQ時,我只需要實例化一個數據庫對象。
有沒有辦法只使用一個語境,這是推薦?
電影MVC示例特意故意使用多個上下文。 http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/adding-a-model。爲什麼,我不知道。也許只是爲了說明可以這樣做。對於非常大的應用程序來說這可能是一個理想的事情;您可以爲公司的每個部門或每個物理數據庫創建一個上下文。 – 2013-04-25 23:42:35
你知道這是否有很好的理由嗎?因此,OP可能認爲必須這樣做,因爲這個例子? – 2013-04-25 23:44:18
這將是我的猜測。 – 2013-04-25 23:44:36