2011-08-09 15 views
0

をサポートしていません.NET 3.5のために、「入って」回避方法:)私はエンティティへのLINQを書く

string[] groups = GetGroups(); 
       var fList = from f in _store.wcf_ServerFarm 
           join a in _store.ClientAccess on f.ServerFarmName equals a.AccessServerFarmName 
           join s in _store.Service on f.ServerFarmName equals s.ServerFarmName 
           where groups.Contains(s.ServerMachineName) 
           select new { f.ServerFarmAddress, s.ServerMachineName, s.ServiceName, s.ServiceConfig, s.ServicePath }; 

しかし、3.5がサポートしていませんでした.NET(入っては、私はそれをアップグレードすることができませんでした何らかの理由で。それを理解する方法。私は "Any()、esql"などを使用しようとしましたが、うまくいきませんでした。 ありがとう!

+0

関連:http://stackoverflow.com/questions/88473/how-to-do-a-where-in-values-in-linq-to-entities-3-5 –

答えて

1

Hereはカスタム表現を作成する際の回避策として説明しています。内部的には、多くのOR演算子を連結したクエリが作成されます。おそらく、EFv1のLINQには、より良い回避策はありません。 Entity SQLは問題なく動作します。

+0

私のクエリには2 "結合"センテンス、このソリューションを使用することは本当に難しいです。 –

+1

これはEntity Framework alphaバージョン(別名EFv1)の負担です。 –

関連する問題