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()