当我有一个包含对单数实体的引用的实体时,我可以创建一个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);
非常感谢你的帮助。 马可
答案 0 :(得分: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();