2012-04-18 36 views
2

我真的找不到如何將IQueryable轉換爲EntityCollection的答案?如何將IQueryable轉換爲EntityCollection

var userGroups = this.ObjectContext.UserGroups; 

foreach (var userGroup in userGroups) 
{ 
    var ussers = this.ObjectContext.Users.Where(f => f.UserGroupID == item.ID && f.IsActive == true); 

    userGroup.Users = users; // Here I' am getting an issue. 
} 

回答

3

我不是100%肯定,因爲你沒有指定,但我猜你userGroup.Users屬性是由EDMX模型生成導航屬性,因此已經爲您創建的實體集合,您只需將用戶添加到集合中即可。

var userGroups = this.ObjectContext.UserGroups; 

foreach (var userGroup in userGroups) 
{ 
    var ussers = this.ObjectContext.Users.Where(f => f.UserGroupID == item.ID && f.IsActive == true); 

    foreach(var user in ussers) 
     userGroup.Users.Add(user); 
} 
+0

所以沒有LINQ/Helper類/有東西沒有FOREACH做? – 2012-04-18 19:11:01

+2

LINQ是專門爲無副作用而設計的,它用於查詢。你在這裏做的是造成副作用,所以它不應該在擴展方法,它*應該*在foreach。 – Servy 2012-04-18 19:11:49

+1

不是我知道的,請記住,IQueryable可以從不同來源的_lots_返回,它可能並不總是包含實體框架中的實體。當然,您可以輕鬆創建自己的擴展方法,爲您完成工作。 – CodingGorilla 2012-04-18 19:12:38

相關問題