[英]Entity Framework 1:0..1 relation in mvc 5
我想在兩個模型之間創建一個關系為1:0..1,但我得到的只是一個1 .. *關系:
public class MedicalExamination
{
public int Id { get; set; }
public DateTime EntryDate { get; set; }
public DateTime ExecutionDate { get; set; }
public DateTime AcceptanceDate { get; set; }
public string Description { get; set; }
public string State { get; set; }
public string Result { get; set; }
public string Comment { get; set; }
public virtual Visit Visit { get; set; }
[Required]
public virtual ExaminationDictionary ExaminationDictionary { get; set; }
}
我的第二個模型:
public class ExaminationDictionary
{
[Key]
public string Code { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public virtual MedicalExamination MedicalExamination { get; set; }
}
在運行並更新數據庫后,我得到了這樣的關系: http : //scr.hu/11m6/4eny0事情是,我希望它是0..1:1關系。 有人知道一個好的解決方案嗎?
僅當兩個表共享相同的主鍵時,實體框架中的1-to-1或1-to-0or1關系才可能。
因此,例如,您的MedicalExamination可能是關系中的主要實體。 它具有一個ID列主鍵。 您的ExaminationDictionary表需要具有一個ID列作為其主要字段。
然后,您可以使用Fluent API來描述這種關系,如下所示:
modelBuilder.Entity<MedicalExamination>()
.HasOptional(m=>m.ExaminationDictionary)
.WithRequiredPrincipal(d=>d.MedicalExamination);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.