我写这个方法:问题与使用Lambda表达式和表达式加入符树
public List<TResult2> SelectAndJoin<TOuter, TInner, TKey, TResult, TResult2>(IEnumerable<TInner> inner,
System.Linq.Expressions.Expression<Func<Regions, TKey>> outerKeySelector,
System.Linq.Expressions.Expression<Func<TInner, TKey>> innerKeySelector,
System.Linq.Expressions.Expression<Func<Regions, TInner, TResult>> resultSelector,
Func<Regions, TResult2> selector)
{
using (RepositoryDataContext = new DataClasses1DataContext())
{
return RepositoryDataContext.Regions.Join(inner, outerKeySelector, innerKeySelector, resultSelector).AsEnumerable<TResult2>().Select<Regions, TResult2>(selector).ToList<TResult2>();
}
}
但表达的后续回报有此错误:
'System.Linq.IQueryable' does not contain a definition for 'AsEnumerable' and the best extension method overload 'System.Linq.Enumerable.AsEnumerable(System.Collections.Generic.IEnumerable)' has some invalid arguments
我怎样才能摆脱这种错误的?
是这样的编码标准吗?
感谢
'AsEnumerable()'是能够在Linq to Entities/SQL查询的顶部执行Linq到Objects查询的必要步骤。 – BrokenGlass 2011-04-30 21:18:52
这不是关于'using',他在这种情况下会有不同的错误。 – Snowbear 2011-04-30 21:18:57
我认为重点是联合返回一个自定义投影,它必须是AsEnumerable()。我必须测试它并在此处写入结果。 –
Arian
2011-05-01 05:06:45