MVC n-Tier架构项目依赖项

时间:2017-11-08 13:04:25

标签: asp.net-mvc entity-framework n-tier-architecture

我的mvc5项目具有以下结构。

enter image description here enter image description here enter image description here enter image description here

enter image description here enter image description here enter image description here

我的DAL层中有DbContext文件,而#34; ApplicationUserManager" “实体”中的课程'图层如下所示。

enter image description here enter image description here

' ApplicationUserManager'课程'实体'图层有以下代码,即。

public class ApplicationUserManager : UserManager<ApplicationUser>
    {
        public ApplicationUserManager(IUserStore<ApplicationUser> store)
              : base(store)
        {
        }
        public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context)
        {
            var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()));



Here, I am getting error :
1. The type or namespace name 'ApplicationDbContext' could not be found (are you missing a using directive or an assembly reference?
2. The type or namespace name 'DAL' does not exist in the namespace 'MVCFinal' (are you missing an assembly reference?

现在如果我向实体添加对DAL图层的引用,那么其他很多东西都会被破坏。 我怎样才能纠正这个&#34; ApplicationDbContext&#34;实体层中的错误。 在n层中引用层的正确方法是什么。

感谢。

1 个答案:

答案 0 :(得分:3)

问题是你有一个循环依赖,这是不允许的,不推荐使用。

DAL取决于实体实体取决于DAL

考虑将 ApplicationDbContext 移动到公共库,这样您就不必在实体库中引用DAL库。