我想知道以下是否可以在 C# 中使用 EF 6.0 实现。
所以我有一个实体 A,它有一个字典,其中 B 类型的实体作为键,C 实体的列表作为值:
public class A
{
public int AID { get; set; }
public Dictionary<B, List<C>> myList { get; set; }
public somePrimitive AdditionalPropertyOfA { get; set; }
public somePrimitive AnotherPropertyOfA { get; set; }
}
我想将其转换为数据库表 A,如下例所示:
Table A
AID BID CID AdditionalPropertyOfA ...
1 1 1 ...
1 1 2 ...
1 2 3 ...
1 2 4 ...
2 1 1 ...
2 2 2 ...
2 2 3 ...
2 2 4 ...
所以我希望我的意思很清楚。在上面的示例中,我们将有两个 A 实体、两个 B 实体和四个 C 实体。
对于 A=1,我们有: B=1:1->2 和 B=2:3->4
对于 A=2,我们有: B=1: 1 和 B=2: 2->3->4
问题是我不知道如何在实体类 A 或使用流利的 Api 中编写它。A 类需要有一个到实体 B 的:m 映射,还需要一个到 C 的:m 映射。但是如何将这些东西组合在一起呢?
编辑:为了更清楚地说明我的意思:将 A 视为工作计划,将 B 视为员工,将 C 视为员工的任务。B 本身就是实体(姓名、地址等),但在 A 的上下文中,它们分配了任务。