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);