您好我有一个类,它为我的过滤器值返回System.Linq.Expression。
var deleg = ExpressionBuilder.GetExpression<T>(SearchFilter).Compile();
query = query.Where(deleg).AsQueryable();
在这个查询中,我正在应用排序和分页,结果表达为:
{System.Linq.Enumerable+WhereEnumerableIterator`1[Domain.Database.Edmx.MyViewTable].OrderBy(item => item.START_TIME).Skip(10).Take(10)}
现在,当我将.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; }
}
请帮助!