我已经通过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, 字符串,参数 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);
我找不到可以摆脱这个编译时异常的东西。
答案 0 :(得分:6)
不幸的是,另一个第三方.dll库包含相同的动态linq库internaly。 Trirand的jQGrid库包含动态linq库,这是导入System.Linq.Dynamic库时发生冲突的原因。
答案 1 :(得分:0)
从代码中删除以下内容:
using System.Linq;
答案 2 :(得分:0)
db.ReservationSet
有哪些类型?
如果是MyClass
的实例集合,请尝试编写db.ReservationSet.Where<MyClass>("blbalbabla",1,2)
。
如果可分配给IQueryable
,请尝试写:
((IQueryable )db.ReservationSet).Where("blbalbabla",1,2)
答案 3 :(得分:0)
我知道这不是最漂亮的方式。但我没有其他想法。
将您的班级拆分为2个cs文件并创建部分班级。所以你从其中一个文件中删除使用System.Linq
。
试试吧也许它有效。