这是我的代码的相关部分:
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并以这种方式引用所有内容,或者是否还有其他我缺少的内容?
编辑:一个浅的副本 grab 了所需的信息,它现在有效 .
1 回答
您可以在EF类设计器的工具窗口中取消映射该属性 .