0

我使用的是ASP.NET WebAPI,在我的控制器中我有一个名为PostAddToGroup的方法,参数为int idGroup group。在我的Group实体上,我有一个名为Members的导航属性。ASP.NET MVC实体框架 - 参数模型的访问导航属性

我想要做的就是这样的事情

public HttpResponseMessage PostAddToGroup(int id, Group group) { 
    group.Members.Add(id); 
    db.SaveChanges(); 
} 

代替

Group _group = db.Groups.Include(x => x.Members).Single(x => 
    x.PosterID == group.PosterID && x.Type == group.Type); 
_group.Members.Add(id); 
db.SaveChanges(); 

这是可能的,如果没有,是否有这样做的更好的办法?

+0

我在这里没有看到问题...函数PostAddToGroup不起作用?组对象是否有效? – cheesemacfly

+0

它可以工作,但效率相当低,就好像我正在使用纯SQL一样,在更新之前我不需要获取“Group”行。我宁愿避免进行不必要的数据库调用。 – edobry

+0

我很困惑,Group Group中的'group'变量是什么类型?db.Groups.Find(group.PosterID,group.Type);'? – cheesemacfly

回答

0

没关系,自己想清楚了。我所要做的就是将模型攻击到DbContext,如下所示:db.Groups.Attach(group).Members.Add(id);