2016-09-28 52 views
1

我正在用visual studio 2015創建一個項目。該項目是從asp.net項目模板創建的(MVC複選框被選中)。我應該在MVC5中創建一個新的DbContext對象ASP.Net項目

自動生成多個文件(例如用於用戶管理)。 我有一個名爲IdentityModels.cs的女巫包含IdentityDbContext(用於用戶表)。

我想爲我的應用程序創建其他表/實體。下面是我做的:創建了第二個Context類,繼承自DbContext。

但我想知道是否爲同一個數據庫有2個DbContext是一件好事。 我應該把一切都放在IdentityDbContext中嗎?或者爲我的項目創建2個數據庫(一個用於驗證,另一個用於我自己的表)?

感謝

回答

1

我建議離開IdentityDBContext原樣,並在代表你的數據訪問層一個單獨的類庫項目創建另一個數據上下文

當你運行你會指定上下文名稱遷移哪些永遠是第二個,一旦你創建了你的身份表,你將不需要IdentityDBContext再次遷移

+0

我個人使用相同的DbContext與我的項目中的Identity和其他表一起使用。我認爲必須有一個令人信服的理由將它們分開,例如,如果您想爲多個項目使用相同的用戶羣。我只是想知道將它們分開的理由是什麼? – Luke

+0

身份上下文主要關心用戶身份驗證,如果您將其移至數據訪問項目,則必須添加對Microsoft.AspNet.Identity.Core的引用以及許多其他在數據訪問層內部無關的程序集,這就是爲什麼我將它分開的原因 –

+0

你說Identity與數據訪問層無關,但它不直接與底層數據源和它的結構有關?另外,如果您使用的是Identity Framework,那麼您是如何獲得用戶信息的? – Luke

相關問題