C# 自引用表实体框架插入记录?
无法确定从属操作的有效顺序。依赖关系可能由于外键约束、模型要求或存储生成的值而存在。 ASP.NET MVC3实体框架4.1 我的模型C# 自引用表实体框架插入记录?,c#,entity-framework-4,C#,Entity Framework 4,无法确定从属操作的有效顺序。依赖关系可能由于外键约束、模型要求或存储生成的值而存在。 ASP.NET MVC3实体框架4.1 我的模型 public class OrganizationStructure { public OrganizationStructure() { this.OrganizationStructures = new List<OrganizationStructure>(); InputDate = Date
public class OrganizationStructure
{
public OrganizationStructure()
{
this.OrganizationStructures = new List<OrganizationStructure>();
InputDate = DateTime.Now;
}
public int ID { get; set; }
public string Name { get; set; }
public int OrganizationStructureID { get; set; }
public int OrganizationID { get; set; }
public int OrganizationTypeID { get; set; }
public int OrganizationActivityID { get; set; }
public int OrganizationLocationID { get; set; }
public string AddRemark { get; set; }
public int UserId { get; set; }
public DateTime InputDate { get; set; }
public int? RemAttr { get; set; }
public IList<OrganizationStructure> OrganizationStructures { get; private set; }
}
OrganizationStructureID
属性必须为空,否则将无法插入具有自动递增主键的记录
即使您有OrganizationStructureID
nullable,EF也无法处理循环关系。您需要分两步保存它
using (var scope = new TransactionScope())
{
var context = new MyContext();
var organizationStructure = new OrganizationStructure {/* assign props */ };
context.OrganizationStructures.Add(organizationStructure);
context.SaveChanges(); // step 1
organizationStructure.OrganizationStructures.Add(organizationStructure);
context.SaveChanges(); // step 2
scope.Complete();
}
OrganizationStructureID
属性必须为空,否则将无法插入具有自动递增主键的记录
即使您有OrganizationStructureID
nullable,EF也无法处理循环关系。您需要分两步保存它
using (var scope = new TransactionScope())
{
var context = new MyContext();
var organizationStructure = new OrganizationStructure {/* assign props */ };
context.OrganizationStructures.Add(organizationStructure);
context.SaveChanges(); // step 1
organizationStructure.OrganizationStructures.Add(organizationStructure);
context.SaveChanges(); // step 2
scope.Complete();
}
我更新了问题。CreateOrUpdateOrganizationStructure handlerI更新了问题。CreateOrUpdateOrganizationStructure Handler这不是非常有用的更新,因为相关代码可能在该存储库中…这不是非常有用的更新,因为相关代码可能在该存储库中。。。