Внешний ключ на основе условий в Entity Framework Core - PullRequest
0 голосов
/ 29 мая 2019

Я должен создать условие, основанное на соотношении один ко многим между классами.У меня есть следующие классы.

public enum Type
{
    Type1,
    Type2
}
public Class Base1
{
    public int Id {get; set;}
    public string Prop {get; set;}
    public List<NProp> NProps {get; set;}
}
public Class Base2
{
    public int Id {get; set;}
    public string Prop {get; set;}
    public List<NProp> NProps {get; set;}
}
public class NProp
{
    public Type Type {get; set;}
    public int BaseId {get; set;} //Foreign Key
    public string NProp {get; set;}
}

Теперь в классе NProp есть один внешний ключ baseId, который должен быть внешним ключом Base1, если Type равен Type1 и длязначение Base2, если Type равно Type2.Во-первых, возможно ли это?Если да, то как?

1 Ответ

0 голосов
/ 29 мая 2019

Нет, это невозможно. Вы должны использовать два FK. Один для каждой базы.

...