0

当我有一个持有对单个实体的引用的实体时,我可以创建一个 EntityKey 并将该值分配给 EntityNameReference.Value 属性。它完美地工作,就像一个魅力。

如果我有一个包含对多个实体的引用的实体,我将无法成功地做同样的事情。假设一个名为 Application 的实体具有一个包含对 Modules 的引用的属性(因此 Application 具有一个名为 Modules 的 List 属性)。

如何以编程方式将实体键附加到这种属性?

我尝试了这样的事情,但没有任何成功:

foreach(int idModule in selectedModules)
{
Module m = new Module();
m.EntityKey = new EntityKey("myModel.ModuleSet", "idModule", idModule);
ctx.Attach(m); //Here I have an exception
app.Modules.Add(m);

非常感谢你的帮助。马可

4

1 回答 1

0

模块是否具有应用程序导航属性?它应该。

我会写这样的东西:

foreach(int idModule in selectedModules)
{
    Module m = new Module();
    m.EntityKey = new EntityKey("myModel.ModuleSet", "idModule", idModule);
    m.Application = app;
    app.Modules.Add(m);
}
ctx.SaveChanges();
于 2009-11-06T20:32:11.273 回答