【发布时间】:2016-09-09 09:07:56
【问题描述】:
我有一个现有的实体用户。现在我正在尝试创建一个与用户 0-1 关系的新实体 Contact。
class Contact
{
public int Id {get; set;}
public string Name {get; set;}
public int? UserId {get; set;}
public virtual User TheUser{get; set;}
}
所有建议都涉及到这样的事情:
modelBuilder.Entity<User>()
.HasOptional(t => t.TheUser)
.WithOptionalDependent(u => u.TheConatct);
但这意味着我们必须将 TheConatct 属性添加到现有的 User 实体。实际上我不想对现有实体进行任何修改。我需要定义一个外键表单 Contact 到 User 实体,并且可以从 Contact 访问 User 实体通过 TheUser 属性。
更新: 如果我使用 ForeignKey 属性来注释属性:
class Contact
{
public int Id {get; set;}
public string Name {get; set;}
public int? UserId {get; set;}
[ForeignKey("UserId")]
public virtual User TheUser{get; set;}
}
然后,ObjectContext.CreateDatabase() 的结果还将包括对已存在表的创建语句(取决于与用户有关系的实体)。
当然我们说的是“Entity Framework 6 Code First”,另外,我也有同样的问题,1-1 关系。
想法,我无法更改现有实体 User 为新实体 Contact
添加其他属性不知道有没有办法解决这个问题
【问题讨论】:
标签: c# entity-framework