实体框架添加而忽略属性

时间:2014-01-02 18:36:22

标签: c# entity-framework

以下是我的代码的相关部分:

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并以这种方式引用所有内容,或者还有其他我缺少的内容?

编辑:一份浅薄的副本抓住了所需的信息,现在就可以了。

1 个答案:

答案 0 :(得分:0)

您可以在EF类设计器的工具窗口中取消映射该属性。