如何在使用asp.net身份时分离模型库

时间:2017-02-22 10:53:43

标签: c# asp.net-mvc entity-framework asp.net-identity separation-of-concerns

我想用分层架构创建应用程序。我有单独的

  • 仅包含模型类的模型项目
  • 负责CodeFirst配置,迁移等的数据项目,
  • 负责业务逻辑的服务项目,并使用EF
  • 保留数据库中的数据
  • 使用Web应用程序和服务之间使用的类进行Dto项目
  • 使用asp.net mvc应用程序的Web项目。

我的目标是将这些项目分开,以便Web项目对模型和数据一无所知 - 它只使用Dto类消耗服务,因此Web项目应该只引用Service和Dto。在配置Asp.Net Identity之前,一切都很棒 - 为了配置授权,我必须引用我想要避免的数据和模型项目。是否有可能实现我的目标,以及(如果是)如何实现目标。

我的第二个问题是:从关注点分离的观点来看,我的设计是否正确?

1 个答案:

答案 0 :(得分:0)

我可能会将所有ASP.NET标识事物分离到自己的项目中,同时包含EF数据访问和身份模型。将其视为更局部地或通过主题而不是功能来分离关注点。

因此,您的网络应用程序将引用服务,Dto和身份 - 并且每个人似乎都有自己的角落。

目标,imo,不一定是通过类似的功能来划分代码,而是消除不需要的依赖关系,并隐藏(或者更确切地保护)域知识到孤立和权威的块中。

是的,你的设计基本上是稳固的,通常效果很好。