2012-01-18 2 views
0

メモリリストに使用してエンティティフレームワークに検索することはできませんが、私はこのエラーを取得:は、私は、メモリの一覧に使用して、私のエンティティのデータベースにアップしているよ

型「にSystem.Collectionsの一定の値を作成することができません。 Generic.List`1 '。このコンテキストでは、プリミティブ型( 'Int32、String、およびGuid'など)のみがサポートされています。

Imが使用したコードはこれです:私はこの問題を調査してい

dgv.DataSource = (from x in Helper.Ctx.Planner where myList.Contains(x.Customer) select x).Take(100); 

そのその私が最初にToListメソッド()を使用してすべての内容を取得しますが、データベースが非常に大きい、そしてオーバー全部の取得の提案毎回ネットワークに数分かかるでしょう。

私はEF4.1と

してくださいすべてのソリューションVS 2010を使用しています!

答えて

2

完全オブジェクトの代わりに顧客のPkキーを比較します。

myList.Select(x => x.Id).Contains(x.Customer.Id) 
+0

こんにちは申し訳ありませんが、お客様はオブジェクトではなく文字列フィールド(顧客名)です。 – sprocket12

+0

Linq2SqlのようにEF4がサポートしていないようです。http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/095745fe-dcf0-4142-b684-b7e4a1ab59f0/回避策。 – Magnus

関連する問題