Sou*_*ter 5 sql-server entity-framework dynamic-linq
我尝试动态创建一些LINQ查询来搜索所有列中的数据.

目前,我使用以下代码来构建动态LINQ查询.然而,当处理复杂的列时,它是非常错误的.
var type = property[col.ToLower()].PropertyType;
var isNullableType = type.IsGenericType && type.GetGenericTypeDefinition() == typeof (Nullable<>);
if (type.IsValueType && !isNullableType)
{
filter += col + ".ToString().ToLower().Contains(@" + i + ".ToLower())";
}
else if (isNullableType)
{
filter += col + ".HasValue ? " + col + ".Value.ToString().ToLower().Contains(@" + i + ".ToLower())" + " : false";
}
else
{
filter += "(" + col + " != null ? " + col + " : \"\").ToString().ToLower().Contains(@" + i + ".ToLower())";
}
Run Code Online (Sandbox Code Playgroud)
你有什么想法来简化我的上述代码吗?如果您的建议仅适用于SQL Server 2008或更高版本,我很好.
注意: 列数据可以是整数,字符串,对象,枚举等任何类型,也可以为null.
| 归档时间: |
|
| 查看次数: |
298 次 |
| 最近记录: |