我正在使用 EF5 Code First 定义我的一些模型 atm。我有这三个具有多对多关系的示例类:
public class Team { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Team_Id { get; set; } [MaxLength(150)] public string TeamName { get; set; } public virtual ICollection<User> Users { get; set; } [public virtual ICollection<Role> Roles { get; set; } // 1 [Timestamp] public byte[] TimeStamp { get; set; } } public class User { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int User_Id { get; set; } [MaxLength(150)] public string LoginName { get; set; } [MaxLength(150)] public string Nachname { get; set; } [MaxLength(150)] public string Vorname { get; set; } public virtual ICollection<Team> Teams { get; set; } public virtual ICollection<Role> Roles { get; set; } // 2 [Timestamp] public byte[] TimeStamp { get; set; } } public class Role { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Role_Id { get; set; } [MaxLength(50)] public string RoleName { get; set; } [Timestamp] public byte[] TimeStamp { get; set; } }
如您所见,团队和用户之间存在多对多的关系。我试图让它工作几个小时。我总是在 VS 2012 中收到带有错误消息“错误导航属性”的 JS 异常。起初我以为是用户/团队类中的 ICollections 团队/用户,但事实并非如此。问题似乎是两个调用 1) 和 2)。我删除其中任何一个都可以。重命名一个并保持两个字段都处于活动状态仍然会引发错误。也许有人知道发生了什么。
非常感谢
此问题由 SirSmackalot 在我们的 IdeaBlade 论坛上发布。我在这里重新发布问题和答案,因为我认为它对 Breeze Stack Overflow 社区很有用。