【发布时间】:2014-10-11 21:52:18
【问题描述】:
我有 3 张桌子:
帐户:ID、姓名
用户:ID、AccountId、姓名
用户详情:Id、UserId、电话
实体:
public partial class Account
{
public Account()
{
this.Users = new HashSet<User>();
}
public int Id{get;set;}
public string Name{get;set;}
public virtual ICollection<User> Users{get;set;}
}
public partial class UserDetail
{
public int Id{get;set;}
public string Phone {get;set;}
public virual User User {get;set;}
}
public partial class User
{
public User()
{
this.Accounts = new HashSet<Account>();
}
public int Id{get;set;}
public virtual ICollection<Account> Accounts {get;set;}
public virtual UserDetail UserDetail{get;set;}
}
如您所见,Account to User 是一对多的关系,因此我的 Account 实体具有 Users DbSet。而 User 到 UserDetail 是一对一的关系。
我目前正在尝试将用户和用户详细信息记录插入现有帐户。所以我的代码如下所示:
var newUserDetail = new UserDetail();
newUserDetail.Phone = 014109842;
var newUser = new User();
newUser.Name = "John Smith";
newUser.UserDetail = newUserDetail;
var currentAccount = _dbContext.Accounts.First(a => a.Id == 100);
currentAccount.User.Add(newUser);
_dbContext.SaveChanges();
我收到以下错误: “ReferentialConstraint 中的依赖属性映射到存储生成的列。列:'Id'。”
想法?
【问题讨论】:
-
如果提供 Account、User 和 UserDetail 的类定义,您将获得更多帮助。
-
@EtihwSirhc 我现在做了
标签: entity-framework-6 referential-integrity