6

nuget パッケージ経由で DynamicLinq ライブラリをダウンロードしています。以下のように使用しました

db.ReservationSet.Where("blbalbabla",1,2)

しかし、私は例外を下回っています。

エラー 38 次のメソッドまたはプロパティ間の呼び出しがあいまいです: 'System.Linq.Dynamic.DynamicQueryable.Where(System.Linq.IQueryable, string, params object[])' と 'System.Linq.Dynamic.DynamicQueryable.Where( System.Linq.IQueryable、文字列、params object[])' F:\Projects\IEKeysNew\IEKEYS\Controllers\ReportController.cs 145 22 IEKEYS

ここに両方の​​方法の兆候があります。

public static IQueryable<T> Where<T>(this IQueryable<T> source, string predicate, params object[] values);
public static IQueryable Where(this IQueryable source, string predicate, params object[] values);

このコンパイル時の例外を取り除くものは見つかりませんでした。

4

4 に答える 4

6

Unfortunately another third party .dll library contains the same dynamic linq library internaly. Trirand's jQGrid library contains dynamic linq library and that is the reason for the conflict when I import System.Linq.Dynamic library.

于 2012-07-24T11:59:15.643 に答える
0

どんなタイプがdb.ReservationSetありますか?

それがあなたのインスタンスのコレクションである場合は、MyClassを書いてみてくださいdb.ReservationSet.Where<MyClass>("blbalbabla",1,2)

に割り当てることができる場合は、IQueryable次のように記述してみてください。
((IQueryable )db.ReservationSet).Where("blbalbabla",1,2)

于 2012-07-24T11:54:44.583 に答える
0

私はこれが最も美しい方法ではないことを知っています。しかし、私には別の考えがありません。

クラスを2つのcsファイルに分割し、部分的なクラスを作成します。したがって、ドキュメントの1つからusingを削除しSystem.Linqます。多分それがうまくいくことを試してみてください。

于 2012-07-24T11:55:15.377 に答える
0

コードから次の使用を削除します。

using System.Linq;
于 2012-07-24T11:50:06.200 に答える