【发布时间】:2010-10-21 08:36:21
【问题描述】:
大家。 我知道,这个话题已经讨论过了。但是,不幸的是,我在现有答案中没有找到任何解决方案。所以,我有下一个代码:
public List<List<string>> DataTableParser(IQueryable<T> queriable)
{
//I missed the unnecessary code
return queriable.Select(SelectProperties).ToList();
//I missed the unnecessary code
}
private Expression<Func<T, List<string>>> SelectProperties
{
get
{
var properties = typeof(T).GetProperties();
//
return value => properties.Select
(
// empty string is the default property value
prop => (prop.GetValue(value, null) ?? string.Empty).ToString()
)
.ToList();
}
}
因此,在 DataTableParser 方法中,下一条消息出现异常:
“本地序列不能在 LINQ to SQL 的查询运算符实现中使用,但 Contains() 运算符除外”。
我不在我的查询“where”部分中使用。所以我无法想象如何使用“包含”运算符。而且我无法理解异常的原因。
有没有人有任何想法?我将不胜感激。谢谢。
【问题讨论】:
-
properties变量是什么? -
对不起,乔恩,我忘记了。我将它添加到代码中。 var properties = typeof(T).GetProperties();