Sql server 实体框架的每层次表(TPH)继承
我有以下基础(抽象模型): 在我的上下文中,我构建了一个StatusMessage集:Sql server 实体框架的每层次表(TPH)继承,sql-server,entity-framework,entity-framework-4,sql-server-2012,Sql Server,Entity Framework,Entity Framework 4,Sql Server 2012,我有以下基础(抽象模型): 在我的上下文中,我构建了一个StatusMessage集: public IDbSet<StatusMessage> StatusMessage { get; set; } 公共IDbSet状态消息{get;set;} 在我的初始值设定项中,我尝试构建一条新的项目状态消息,并将其保存到数据库中: var statusMessages = new List<StatusMessage> { new ProjectStatusMessa
public IDbSet<StatusMessage> StatusMessage { get; set; }
公共IDbSet状态消息{get;set;}
在我的初始值设定项中,我尝试构建一条新的项目状态消息,并将其保存到数据库中:
var statusMessages = new List<StatusMessage>
{
new ProjectStatusMessage
{
Description = "Test-Project-Status-Message",
ProjectId = 1,
UseraccountId = 1
}
};
statusMessages.ForEach(s => context.StatusMessage.Add(s));
context.SaveChanges();
var statusMessages=新列表
{
新项目状态消息
{
Description=“测试项目状态消息”,
projectd=1,
UseraccountId=1
}
};
statusMessages.ForEach(s=>context.StatusMessage.Add);
SaveChanges();
当代码被执行时,编译器抛出一个异常。
“ProjectStatusMessage\u Project”中的插入和外键约束存在冲突。冲突出现在表“dbo.Project”的“Id”列中。我自己发现了问题。 我的初始值设定项中的顺序是错误的。 我先创建了projectstatus,然后创建了项目
public IDbSet<StatusMessage> StatusMessage { get; set; }
var statusMessages = new List<StatusMessage>
{
new ProjectStatusMessage
{
Description = "Test-Project-Status-Message",
ProjectId = 1,
UseraccountId = 1
}
};
statusMessages.ForEach(s => context.StatusMessage.Add(s));
context.SaveChanges();