Entity Framework 6 с несколькими таблицами на один код отношения внешнего ключа в первую очередь

Мне интересно, если кто-нибудь мог бы посоветовать мне, как выполнить ниже, используя код сначала в EF6

Если я добавлю Таблицу_3 в качестве Списка в Таблицу_1 и Таблицу_2 в моих объектах. EF автоматически генерирует столбец внешнего ключа для обеих таблиц в Table_3 вместо того, чтобы распознавать, что они относятся к одному типу.

Мои модельные классы установлены следующим образом.

public interface IParent
{
    int ID { get; set; }
    List<Table_3> Children { get; set; }
}

public class Table_1 : IParent
{
    [Key]
    public int ID { get; set; }
    public string Name { get; set; }
    public virtual List<Table_3> Children { get; set; }
}

public class Table_2 : IParent
{
    [Key]
    public int ID { get; set; }
    public string Name { get; set; }
    public virtual List<Table_3> Children { get; set; }
}

public class Table_3
{
    [Key]
    public int ID { get; set; }
    public int ParentID { get; set; }
    [ForeignKey("ParentID")]
    public virtual IParent Parent { get; set; }
}

Код EF сначала генерирует ниже

редактировать

Просто чтобы кто-нибудь, у кого были те же проблемы, знал

Теперь я решил эту проблему, изменив интерфейс IParent на абстрактный класс, теперь мои классы выглядят следующим образом

[Table("ParentBase")]
public abstract class ParentBase
{
    [Key]
    public int ID { get; set; }
    public List<Table_3> Children { get; set; }
}
[Table("Table_1")]
public class Table_1 : ParentBase
{
    public string Name { get; set; }
}
[Table("Table_2")]
public class Table_2 : ParentBase
{
    public string Name { get; set; }
}
[Table("Table_3")]
public class Table_3
{
    [Key]
    public int ID { get; set; }
    public int ParentID { get; set; }
    [ForeignKey("ParentID")]
    public virtual ParentBase Parent { get; set; }
}

с расположением стола

это будет работать, хотя было бы лучше, если бы оригинал можно было встретить.

Ответы на вопрос(2)

Ваш ответ на вопрос