MVC 5中的推荐方法,将Applicationuser用作不同DBContext中的Navigation属性

时间:2014-12-09 09:35:32

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

我正在尝试将MVC 5中的模型分成一个名为实体的单独项目,并具有不同的数据访问项目。

  1. Project.Entities - 域模型Project.Data - 数据访问层 与实体框架和存储库Project.Web - MVC项目
  2. 我有一个如下所示的类,并希望它使用ApplicationUser Id作为外键

    public class PoolMember
    {
        public int PoolMemberId { get; set; }
        public int PoolId { get; set; }
        public int UserId { get; set; }        
        public AjoMemberStatus MemberStatus { get; set; }
        public DateTime DateJoined { get; set; }
        public Nullable<DateTime> DateStatusChanged { get; set; }
        public int PoolPayoutPosition { get; set; }
    
        public Pool Pool { get; set; }
        [ForeignKey("UserId")]
        public ApplicationUser ApplicationUser { get; set; }
    }
    

    看起来我的选择是将我的实体移动到与ApplicationUser相同的命名空间(这意味着将其添加到mvc项目中)或尝试将applicationuser从MVC项目移动到实体项目中。

    我的问题是,是否有人对可持续方法有任何建议,允许将applicationuser类用作模型中的外键。

1 个答案:

答案 0 :(得分:0)

您的想法是正确的,您应该从默认的ASP.NET MVC项目模板中提取ApplicationUser类,并将其与其他业务实体(Project.Entities一起放在您的案例中)。

有关构建ASP.NET MVC应用程序的示例,请查看this question