簡體   English   中英

EF Core Code First,相同object的2個多對一關系

[英]EF Core Code First, 2 Many to one relations of same object

我有 2 個具有以下結構的類,Person 與 SchoolClass 有 2 個多一關系:

public class Person
    {
        public int Id { get; set; }
        public List<SchoolClass> SchoolClasses { get; set; }
        public List<SchoolClass> OldSchoolClasses { get; set; }
    }

    public class SchoolClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

我可以添加 ghostProps 但不能更改類。

當我為 EFCore 進行遷移時,它會將 2 個不同的人員 ID 添加到我想避免的 SchoolClass 表中。

我想生成 2 個多對多表:

  • PersonSchoolClasses 表
  • OldPersonSchoolClasses 表

Fluent API 可以做到這一點嗎?

也許您應該嘗試 inheritance:

public class SchoolClass    // this could be abstract
{
    public int Id { get; set; }
    public string Name { get; set; }
}
public class NewSchoolClass : SchoolClass
{
}
public class OldSchoolClass : SchoolClass
{
}
public class Person
{
    public int Id { get; set; }
    public IList<NewSchoolClass> NewSchoolClasses { get; set; }
    public IList<OldSchoolClass> OldSchoolClasses { get; set; }
}

在 DbContext 中:

-DbSet<SchoolClass> SchoolClasses { get; set; }
+DbSet<OldSchoolClass> OldSchoolClasses { get; set; }
+DbSet<NewSchoolClass> NewSchoolClasses { get; set; }

暫無
暫無

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

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