我有一个表,该表具有通用的ObjectType(字符串)和ObjectId(整数)列,分别对应于其他表及其主键。用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