簡體   English   中英

EF Core 2 映射關系

[英]EF Core 2 mapping relationships

public class MobilePhone{
    public int Id {get; set;}
    public string Name { get; set; }
    public Owner Owner { get; set; }
}

public class Owner{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public ICollection<City> Cities { get;  set; }
}

public class City
{
    public int Id {get; set;}
    public string Name { get;  set; }        
    public Owner Owner { get;  set; }
}


public class OwnerConfiguration : IEntityTypeConfiguration<Owner>
{
    public void Configure(EntityTypeBuilder<Owner> builder)
    {
        builder.ToTable("Owner");
        builder.HasKey(x => x.Id);
        builder.Property(x => x.Id).HasColumnName("Id").ValueGeneratedOnAdd();
        builder.Property(x => x.FirstName);
        builder.Property(x => x.LastName);
        builder.HasMany(x => x.Cities);
    }
}

我需要明確設置 PK 還是按慣例設置?

map City 和 MobilePhone 類的正確方法是什么?

主鍵的實體框架約定是:

您的 class 定義了一個屬性,其名稱為“ID”或“Id”或 class 名稱后跟“ID”或“Id”。要將屬性顯式設置為主鍵,可以使用 HasKey 方法。 在以下示例中,HasKey 方法用於配置 OfficeAssignment 類型的 InstructorID 主鍵。

    modelBuilder.Entity<OfficeAssignment>().HasKey(t => t.InstructorID);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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