访问ApplicationUser for foreign key而不参考Entity Framework

时间:2015-11-17 02:46:18

标签: c# asp.net-mvc entity-framework

我已将ASP.NET MVC 5项目划分为两个不同的项目/程序集:

  • MyProject.Entities

  • MyProject.Web

.Entities包含我的业务/域逻辑(基本上是我的自定义数据对象的模型类),.Web包含实际的ASP.NET MVC框架和Web基础结构。

我的设计基于Scott Allen的优秀ASP.NET MVC 5基础课程,他解释了如何将业务逻辑与Web基础架构分开。

但是,我遇到了一个问题,斯科特只是简单地解决了这个问题:在我的ApplicationUser课程中访问.Entities

我希望我的数据实体表包含指向每个条目的特定ApplicationUser的外键。但由于ApplicationUser继承自IdentityUser,我需要引用AspNet.Identity.EntityFramework

斯科特说,#34并没有为很多人工作,而且#34;相当令人反感"。他说我必须实现自己的UserStoreUserManager才能使用它。

我认为,仅仅想要在几张表中能够使用外键ApplicationUser,这实在是太过分了。

我可以通过在ApplicationUser中的IdentityModel类中创建一个导航属性,将相关的外键列放入我的数据表中,如下所示:

using MyProject.Entities;

public class ApplicationUser : IdentityUser
{
    public virtual ICollection<Request> Requests { get; set; }
}

然后执行简单的Entity Framework迁移。但是,我无法通过我的对象显式访问用户。

所以:

  1. 为什么会这样?#34;令人反感&#34;在我的业务/域层中引用实体框架,以及

  2. 如何将该图层中声明的外键引用转到我需要的ApplicationUser

0 个答案:

没有答案