我应该在MVC5中创建一个新的DbContext对象ASP.Net项目

问题描述:

我正在用visual studio 2015创建一个项目。该项目是从asp.net项目模板创建的(MVC复选框被选中)。我应该在MVC5中创建一个新的DbContext对象ASP.Net项目

自动生成多个文件(例如用于用户管理)。 我有一个名为IdentityModels.cs的女巫包含IdentityDbContext(用于用户表)。

我想为我的应用程序创建其他表/实体。下面是我做的:创建了第二个Context类,继承自DbContext。

但我想知道是否为同一个数据库有2个DbContext是一件好事。 我应该把一切都放在IdentityDbContext中吗?或者为我的项目创建2个数据库(一个用于验证,另一个用于我自己的表)?

感谢

我建议离开IdentityDBContext原样,并在代表你的数据访问层一个单独的类库项目创建另一个数据上下文

当你运行你会指定上下文名称迁移哪些永远是第二个,一旦你创建了你的身份表,你将不需要IdentityDBContext再次迁移

+0

我个人使用相同的DbContext与我的项目中的Identity和其他表一起使用。我认为必须有一个令人信服的理由将它们分开,例如,如果您想为多个项目使用相同的用户群。我只是想知道将它们分开的理由是什么? – Luke

+0

身份上下文主要关心用户身份验证,如果您将其移至数据访问项目,则必须添加对Microsoft.AspNet.Identity.Core的引用以及许多其他在数据访问层内部无关的程序集,这就是为什么我将它分开的原因 –

+0

你说Identity与数据访问层无关,但它不直接与底层数据源和它的结构有关?另外,如果您使用的是Identity Framework,那么您是如何获得用户信息的? – Luke