Entity framework 实体框架:同时添加父级和子级自引用表
我有一个模型(Entity framework 实体框架:同时添加父级和子级自引用表,entity-framework,entity-framework-6,Entity Framework,Entity Framework 6,我有一个模型(servicedeail),它是使用实体框架使用数据库优先方法创建的 ServiceDetail型号 public partial class ServiceDetail { public long ID { get; set; } public string ServiceTypeCode { get; set; } public string ServiceTypeValue { get; set; } public string Service
servicedeail
),它是使用实体框架使用数据库优先方法创建的
ServiceDetail
型号
public partial class ServiceDetail
{
public long ID { get; set; }
public string ServiceTypeCode { get; set; }
public string ServiceTypeValue { get; set; }
public string ServiceTypeTerminology { get; set; }
public Nullable<long> AdmissionID { get; set; }
public Nullable<long> ParentID { get; set; }
public virtual Admission Admission { get; set; }
public virtual ICollection<ServiceDetail> ServiceDetail1 { get; set; }
public virtual ServiceDetail ServiceDetail2 { get; set; }
}
问题:当我检查数据库时,所有父记录都已保存,但我看不到引用父记录的具有ParentID
的子记录
我遗漏了什么吗?您是否用流利的代码定义了
外键
?请分享一下。
Entities _entity = new Entities();
_entity.Configuration.AutoDetectChangesEnabled = false;
ServiceDetail _serviceDetail = new ServiceDetail();
_serviceDetail.ServiceCode = serviceDetailItem.Service.Coded_string;
_serviceDetail.ServiceValue = serviceDetailItem.Service.Value;
_serviceDetail.ServiceTerminology = serviceDetailItem.Service.Terminology_id;
if (serviceDetailItem.RelatedService?.ServiceDetailsVO.Count > 0)
{
foreach (var relatedServiceItem in serviceDetailItem.RelatedService?.ServiceDetailsVO)
{
ServiceDetail _relatedService = new ServiceDetail();
_relatedService.ServiceCode = relatedServiceItem.Service.Coded_string;
_relatedService.ServiceValue = relatedServiceItem.Service.Value;
_relatedService.ServiceTerminology = relatedServiceItem.Service.Terminology_id;
//Adding _serviceDetail(parent) to _serviceDetail(Child)
_relatedService.ServiceDetail2 = _serviceDetail;
//Adding _relatedService(Child) to _serviceDetail(Parent)
_serviceDetail.ServiceDetail1.Add(_relatedService);
}
}
_entity.Admission.Add(_serviceDetail);
_entity.SaveChanges()