У меня есть таблица, которая имеет общие столбцы ObjectType (string) и ObjectId (int), которые соответствуют другим таблицам и их первичным ключам соответственно. Каков наилучший способ установить эти условные отношения с EF Core? (Отношение один ко многим). Примечание. Обычно я просто создаю свойства в моделях данных C #, которые запрашивают базу данных об этих условиях, но мои модели данных - просто POCO, у них нет доступа к базе данных.
SQL Server
Table Communication {
Id int,
ObjectType string,
ObjectId int
}
Table Cat {
Id int,
...
}
Table Dog {
Id int,
...
}
C # Модели
class Communication {
int Id
string objectType
int objectId
Cat cat -> populated if objectType = "Cat"
Dog dog -> populated if objectType = "Dog"
}
class Cat {
int Id,
...
List<Communication> communications -> all associated Communications
}
class Dog {
int Id,
...
List<Communication> communications -> all associated Communications
}
Пример записей базы данных связи
Id ObjectType ObjectId
1 Cat 55
2 Cat 78
3 Dog 13