在ASP.NET MVC中,将身份验证模型移动到类库

J86*_*J86 5 c# entity-framework ef-code-first asp.net-mvc-5.2

我正在使用Entity Framework 6 Code FirstASP.NET MVC 5中开发一个新项目.

当前状态

我在一个解决方案中有两个项目.一个是前端(MVC),另一个是类库,我希望它将容纳我的所有Model类(Not 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();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我ApplicationDbContext.cs在BB.DOMAIN中添加到我的[Authentication]文件夹时.为了使所有内容都位于同一个数据库中,我只需更改base("DefaultConnection")为连接字符串的名称在我的另一个DbContext类中,该类位于[Context]文件夹中?

我希望我的所有实体驱动这个应用程序都坐在一个数据库中.

sil*_*fox 4

IdentityUser文件中使用的超类IdentityModel来自Microsoft ASP.NET Identity EntityFramework包,而不是 .Net Framework 4.5 的一部分。

您需要将此 nuget 包和依赖项添加到项目中BB.DOMAIN