簡體   English   中英

MVC 5中的實體框架1:0..1關系

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM