|
此文章由 linkspeed 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 linkspeed 所有!转贴必须注明作者、出处和本声明,并保持内容完整
而是调用我的。
var t = from item in context.TestItemList
where item.StrTitle != ""
select item;
编译以后就成为
IQueryable<TestItem> t = context.TestItemList.Where<TestItem>(
Expression.Lambda<Func<TestItem, bool>>( Expression.NotEqual( Expression.Property( CS$0$0000 = Expression.Parameter(typeof(TestItem), "item"), (MethodInfo) methodof(TestItem.get_StrTitle) ), Expression.Constant("", typeof(string)), false, (MethodInfo) methodof(string.op_Inequality) ), new ParameterExpression[] { CS$0$0000 }));
我在TestItemList的类里面定义了个
public IQueryable<Ts> Where<Ts>(Expression<Func<Ts, bool>> predicate)
但是它还是去调用.net的extension method. 在 public static class Queryable里面的
public static IQueryable<TSource> Where<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate) { }
按道理讲,如果extension method和类成员函数重名,应该是选择成员函数的。
|
|