没有外键的EF核心条件关系

时间:2019-01-06 22:54:44

标签: sql .net entity-framework ef-core-2.0

我有一个表,该表具有通用的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

0 个答案:

没有答案