2

我遇到了这个问题:

我有这样的应用程序用户类

 
public class ApplicationUser : IdentityUser
    {
        public ROLES Role { get; set; }
        public int? CompanyId { get; set; }
        public int? AreaId { get; set; }
        public string Document { get; set; }
        public bool Enable { get; set; }

        [ForeignKey("CompanyId")]
        public virtual Company Company { get; set; }
        [ForeignKey("AreaId")]
        public virtual Area Area { get; set; }
        public virtual ICollection Measures { get; set; }

    }
 

我得到了另一个模型:

 

public class Area
    {
        public int AreaId { get; set; }
        public string AreaName { get; set; }
        public int CompanyId { get; set; }
        public string UserId { get; set; }

        [ForeignKey("CompanyId")]
        public virtual Company Company { get; set; }
        [Key, ForeignKey("UserId")]
        public ApplicationUser ApplicationUser { get; set; }
    }
 

当我尝试: 添加迁移

PM 控制台抛出:

无法确定类型“x.Models.ApplicationUser”和“x.Models.Area”之间关联的主体端。此关联的主体端必须使用关系流式 API 或数据注释显式配置。

我一直在尝试一整天,但我找不到告诉实体框架识别关系的方法。

有任何想法吗?

谢谢阅读

4

2 回答 2

0

在 Area 类中为 AreaId 添加属性

[Key]
public int AreaId { get; set; }

如果您想要 ApplicationUser 和 Area 的 1-1 关系,请更新您的代码,例如

[Unique]
[ForeignKey("UserId")]
public ApplicationUser ApplicationUser { get; set; }
于 2016-10-12T13:20:45.053 回答
0

此关联的主体端必须使用关系流式 API 或数据注释显式配置

这篇文章给了我我需要的答案!!!实在是太难找了……

所以我让你在这里发帖......感谢你的所有帮助!

于 2016-10-13T15:15:35.417 回答