2012-04-18 24 views
2

IQueryableEntityCollectionに変換する方法の答えが見つかりませんか?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なしで何かしますか? –

+2

LINQは、特に副作用がないように設計されており、照会するためのものです。あなたがここでやっていることは副作用を引き起こしているので、展開方法であってはなりません。foreachに入れるべきです。 – Servy

+1

IQueryableは_lots_の異なるソースから返すことができますが、必ずしもエンティティフレームワークのエンティティを含むとは限りません。あなたはもちろん、あなたのためにあなた自身の拡張メソッドを簡単に作成することができます。 – CodingGorilla

関連する問題