我有这个:
public class Match
{
[Key]
public string Id { get; set; }
[ForeignKey("MatchedUser1")]
public string IdOf1 { get; set; }
[ForeignKey("MatchedUser2")]
public string IdOf2 { get; set; }
[InverseProperty("User1")]
public virtual ApplicationUser MatchedUser1 { get; set; }
[InverseProperty("User2")]
public virtual ApplicationUser MatchedUser2 { get; set; }
public List<ApplicationUser> User1 { get; set; }
public List<ApplicationUser> User2 { get; set; }
public virtual ApplicationUser User { get; set; }
}
我们的想法是将一个包含2个用户的表(Match)作为外键。
当我尝试添加迁移时,控制台会回复:
&#34; InversePropertyAttribute on property&#39; MatchedUser1&#39;在类型上 &#39; H4L.Web.Models.Match&#39;无效。该物业&#39; User1&#39;不是一个 相关类型的有效导航属性 &#39; H4L.Web.Models.ApplicationUser&#39 ;.确保该属性存在并且 是有效的引用或集合导航属性。&#34;
我不想使用流畅的API,除非它是唯一的方法。
答案 0 :(得分:0)
终于明白了。 我认为代码必须完全在这个类中完成,但显然我需要在ApplicationUser类中添加它:
public virtual ICollection<Match> User1 { get; set; }
public virtual ICollection<Match> User2 { get; set; }