Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET标识的正确项目放置_Asp.net Mvc_Entity Framework_Architecture_Asp.net Identity - Fatal编程技术网

Asp.net mvc ASP.NET标识的正确项目放置

Asp.net mvc ASP.NET标识的正确项目放置,asp.net-mvc,entity-framework,architecture,asp.net-identity,Asp.net Mvc,Entity Framework,Architecture,Asp.net Identity,我正在努力将ASP.NET标识从我的主MVC项目中分离出来。我创建了一个类库并添加了Identity NuGet包,然后创建了一个新类,但让我感到困惑的是DbContext。我的理解是,我必须创建一个从IdentityDbContext继承的DbContext,但是这样做,它不需要循环引用吗?以下是我的基本架构,如果有人能解释这一点,我将不胜感激: MyApplication.Security MyApplication.DAL引用ApplicationUser的MyApplication.Se

我正在努力将ASP.NET标识从我的主MVC项目中分离出来。我创建了一个类库并添加了Identity NuGet包,然后创建了一个新类,但让我感到困惑的是DbContext。我的理解是,我必须创建一个从IdentityDbContext继承的DbContext,但是这样做,它不需要循环引用吗?以下是我的基本架构,如果有人能解释这一点,我将不胜感激:

MyApplication.Security

MyApplication.DAL引用ApplicationUser的MyApplication.Security

此项目必须引用安全项目才能在DbContext声明中访问ApplicationUser。这本身就打破了关注点分离模型,因为数据层现在依赖于安全项目。我有哪些层错了

MyApplication.UI.Web.MVC UI
此项目参考了安全项目和数据项目,因为它需要定义ApplicationUser和相应的配置文件,以便能够对特定控制器/区域/等的用户进行身份验证和授权。我误解了什么

只需将DbContext:IdentityDbContext放在MyApplication.Security项目中。那么在一个应用程序中有多个DbContext是明智的吗?还是应该将DbContext从DAL传递到我的安全项目中?每个域有一个DbContext很好我明白你的意思了。因此,我会有各种DBContext安全性、核心域等,因为它们有不同的关注点。谢谢你的洞察力!
ApplicationUser : IdentityUser {  }
DbContext : IdentityDbContext<ApplicationUser>