我正在使用Entity Framework 6 Code First在ASP.NET MVC 5中开发一个新项目。
当前状态
一个解决方案中有两个项目。一个是前端(MVC),另一个是类库,我希望它可以容纳我所有的模型类(不是ViewModels)。
众所周知,当您启动一个新的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")
连接字符串的名称更改为DbContext
位于[Context]文件夹中的其他类中的名称即可?
我希望所有驱动此应用程序的实体都位于一个数据库中。
文件IdentityUser
中使用的超类IdentityModel
来自Microsoft ASP.NET Identity EntityFramework软件包,而不是.Net Framework 4.5的一部分。
您需要将此nuget包和依赖项添加到项目中BB.DOMAIN
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句