2

Entity Frameworks 4.1.0.0 と MySQL.Data.Entity 6.5.4.0 を使用しています。整数の範囲に対して動的クエリを生成しようとすると、次のエラーが発生します。

タイプ 'Int32' に適用可能なメソッド 'Contains' が存在しません

同様の構造を使用して文字列をチェックする場合、これはうまくいくようです..しかし、これを拡張して、データにある他のデータベースフィールドをサポートしたいと考えています。

コード例:

        int[] ids = new int[] { 1, 3, 4 };

        IQueryable<entityname> list = db.tablename.Where("Id.Contains(@0)", ids);

Dynamic.cs を自分のプロジェクトに追加し、 http://blog.walteralmeida.com/2010/05/advanced-linq-dynamic-linq-library-add-support-for-contains-extension- に従いました。 html ですが、Nuget 経由でロードした Dynamic を使用しても違いはありませんでした。

前もって感謝します。

4

2 に答える 2

6

構文は少し異なります。

IQueryable<entityname> list = db.tablename.Where("@0.Contains(outerIt.Id)", ids);

あなたが参照するリンクに従ってください。

于 2012-11-30T20:19:33.857 に答える