У меня проблемы с попыткой создать следующие отношения сущностей. Мой код имеет классы Shop
и Person
, и оба имеют несколько Phones
. Моя первая реализация была примерно такой:
public class Person {
public int Id;
public string Name;
public virtual ICollection<Phone> Phones;
}
public class Shop {
public int Id;
public string Name;
public virtual ICollection<Phone> Phones;
}
public class Phone {
public int Id;
public string AreaCode;
public string Number;
public int? ShopId;
public virtual Shop Shop;
public int? PersonId;
public virtual Person Person;
}
и конструктор моделей вроде
modelBuilder.Entity<Person>()
.HasMany(p => p.Phones)
.WithOptional(p => p.Person)
.HasForeignKey(p => p.PersonId);
modelBuilder.Entity<Shop>()
.HasMany(p => p.Phones)
.WithOptional(p => p.Shop)
.HasForeignKey(p => p.ShopId);
Я сомневаюсь здесь: могу ли я смоделировать это или изменить что-либо в моих классах, когда я ' Я не должен постоянно проверять, относятся ли они к Shop
или Person
?