C# 实体框架无法统计可空类型的记录
嗨,我有一个类,它为我的过滤器值返回System.Linq.ExpressionC# 实体框架无法统计可空类型的记录,c#,entity-framework,linq,expression,C#,Entity Framework,Linq,Expression,嗨,我有一个类,它为我的过滤器值返回System.Linq.Expression var deleg = ExpressionBuilder.GetExpression<T>(SearchFilter).Compile(); query = query.Where(deleg).AsQueryable(); 现在,当我将.TOList()应用于此查询时: var list = query.ToList(); 它会导致错误: 转换为值类型“System.Int32”失败,因为
var deleg = ExpressionBuilder.GetExpression<T>(SearchFilter).Compile();
query = query.Where(deleg).AsQueryable();
现在,当我将.TOList()
应用于此查询时:
var list = query.ToList();
它会导致错误:
转换为值类型“System.Int32”失败,因为具体化的值为null。结果类型的泛型参数或查询必须使用可为空的类型
我生成的实体如下所示:
public partial class MyViewTable
{
public System.DateTime START_TIME { get; set; }
public Nullable<System.DateTime> END_TIME { get; set; }
public Nullable<System.DateTime> INTERVAL_START { get; set; }
public Nullable<System.DateTime> INTERVAL_END { get; set; }
public Nullable<int> FILE_Num { get; set; }
public string PROGRAM_Num { get; set; }
public string FILETYPE { get; set; }
public string DIRECTION { get; set; }
}
公共部分类MyViewTable
{
public System.DateTime START_TIME{get;set;}
公共可为空的结束时间{get;set;}
公共可为空的间隔\u START{get;set;}
公共可空区间_END{get;set;}
可为空的公共文件\u Num{get;set;}
公共字符串程序_Num{get;set;}
公共字符串文件类型{get;set;}
公共字符串方向{get;set;}
}
请帮忙 你的搜索过滤器是什么样子的?它是一个
列表搜索过滤器
public class SearchFilter
{public string SearchField{get;set;}public dynamic SearchText{get;set;}public Op Operation{get;set;}serach表达式将结果显示为`{System.Linq.Enumerable+WhereEnumerableIterator1[Domain.Database.Edmx.MyViewTable]}
能否在Where()中发布筛选器表达式?(例如,其中(w=>w.END\u TIME.HasValue))。
public partial class MyViewTable
{
public System.DateTime START_TIME { get; set; }
public Nullable<System.DateTime> END_TIME { get; set; }
public Nullable<System.DateTime> INTERVAL_START { get; set; }
public Nullable<System.DateTime> INTERVAL_END { get; set; }
public Nullable<int> FILE_Num { get; set; }
public string PROGRAM_Num { get; set; }
public string FILETYPE { get; set; }
public string DIRECTION { get; set; }
}