2017-02-09 35 views
1

我正在创建包含的分层MVC应用程序。在另一个项目中移动Asp.net Identity 2

  • 模型层:未使用EF

  • 数据层的任何参考:其中包含的基础设施。 (库和工作单元),并且该层用实体框架

  • 服务层

  • 网络层中引用。

enter image description here

我使用Asp.net identity2。我正在做的是在模型层使用ApplicationUser类,这导致我参考模型层Entity frameworkMicrosoft.AspNet.Identity.EntityFramework。 我在问是否有更好的方法来做到这一点,特别是在感觉我在使用对实体框架的引用来制作数据层和模型层的同时重复自我?

+0

看看我的答案在这里http://stackoverflow.com/a/38673203/5233410 – Nkosi

回答

1

我不认为我完全明白你的问题,但考虑不与你的域混合您的身份模型对象模型:

ASP.NET身份是表示层逻辑,你必须考虑它是否是一个好主意将它从最顶层(Web)中分离出来。

我建议你保持你的模型或域项目与实体框架一个人,并避免混合对象与演示文稿直接相关。

你可以在这个帖子看看: https://aarcoraci.wordpress.com/2017/02/15/asp-net-mvc5-entity-framework-repository-pattern-and-unit-of-work-revisited/

+0

谢谢。如果我需要在域模型中的类和dbo.aspnetusers之间创建导航属性,该怎么办? – MeraSadek

+0

我过去做过的事情有一个共同点。 ASP.Net身份让您可以访问电子邮件(应始终保持唯一)。您可以通过以下途径访问:User.Identity.Name 您稍后要做的就是查询具有相同属性的用户的域对象。 如果你喜欢,你可以创建自己的属性,只需在两个表之间有共同的东西。 – aarcoraci

相关问题