我正在使用Entity Framework 6 Code First在ASP.NET MVC 5中开发一个新项目。
当前状态
我在一个解决方案中有两个项目。一个是前端(MVC),另一个是一个类库,我希望它可以容纳我所有的模型类(不是 ViewModel)。
众所周知,当您开始一个新的 MVC 项目时,身份模型位于 [Models] 文件夹中。由于这些逻辑上属于我的类库项目,我想将它们移到那里。
我尝试过的
在 [Authentication] 文件夹中,我继续创建了一个ApplicationUser.cs
类。现在通过简单地查看IdentityModels.cs
我知道我需要参考Microsoft.AspNet.Identity
其他内容。
所以我右键单击 BB.DOMAIN 项目的参考,然后单击{添加参考}。但是我在任何地方都看不到Microsoft.AspNet.Identity
图书馆!
需要澄清
我在这里做正确的事吗?我目前的想法是我正在做一些通常不应该做的事情!但是在你阅读的任何地方,你都会被告知所有核心实体通常应该放在一个地方。
另一件我已经很困惑但还没有解决的问题是:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext() : base("DefaultConnection", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
当我添加ApplicationDbContext.cs
到 BB.DOMAIN 中的 [Authentication] 文件夹时。为了使所有内容都位于同一个数据库中,我是否只需将base("DefaultConnection")
连接字符串的名称更改为位于 [Context] 文件夹内的其他DbContext
类中的任何名称?
我希望所有驱动这个应用程序的实体都放在一个数据库中。