以下是我的代码的相关部分:
public partial class Users
{
public string Name { get; set; }
public Guid RoleId { get; set; }
public virtual Role UserRole {get; set; }
}
public partial class Role
{
public string RoleName {get; set; }
public Guid RoleId {get; set; }
}
RoleId是Roles表中的主键,它具有RoleName和RoleId。用户具有Name和RoleId。
设置用户后,我尝试添加它们
this.Entities.Users.Add(user);
this.Entities.SaveChanges();
但是,我在Roles表中收到了违反PRIMARY KEY类型的DbUpdateException。从我所看到的,它正在尝试插入附加到用户的角色,这显然会导致该问题。
我尝试在UserRole上放置一个[NotMapped]属性,但这并没有解决问题。
EF生成了这两个类。
我是否需要进行某种架构更改,以使其不包含UserRole和重构器以在用户中使用RoleId并以这种方式引用所有内容,或者还有其他我缺少的内容?
编辑:一份浅薄的副本抓住了所需的信息,现在就可以了。
答案 0 :(得分:0)
您可以在EF类设计器的工具窗口中取消映射该属性。