【发布时间】:2012-01-12 23:43:24
【问题描述】:
这可能是我的懒惰,但我找不到一个简单的例子。
参考我最喜欢的电视剧《权力的游戏》,我的例子如下:
Table Throne (ThroneID)
Table King (ThroneID)
使用 Entity Framework 4,我有两个彼此具有 1:1 关系的表。在代码中,我想将国王与王座相关联。一个王座可以关联 0 或 1 个国王。如果是 1:Many,我有 Add() 方法来创建关联。 1:1 用什么?
(好吧,我现在意识到我的例子不是最好的......但在这个例子中,KingID 将与 ThroneID 相同以强制执行 1:1)
GameOfThronesContext context = new GameOfThronesContext();
Throne t = new Throne();
King k = new King();
t.Kings.Add(k); // doesn't work because "Add" isn't available
context.Thrones.AddObject(t);
【问题讨论】:
-
看起来我回答了我自己的问题。我不确定在保存时是否会保持关联,但我对其进行了测试并且以下工作。您必须将父级分配给子级,而不是相反。这一定会导致框架将 King 添加为 Throne 的子项,但这并不明显。我可能仍然错过了另一个方向的等效分配,但我无法弄清楚。如果有人可以确认或否认,我将不胜感激。
标签: c# asp.net entity-framework entity-framework-4