完整错误信息:
将实例化的值类型“Boolean”转换失败,因为该值为空。结果类型的泛型参数或查询必须使用可空类型。
代码:
var messages = ctx.tblMessageQueue.Where(o => o.Status == status && o.Region == region);
//o.Status is a byte type and not nullable, o.Region is an int type and not nullable.
if(messages != null && messages.Any()) => Triggers the Error
{...
}
StackTrace是:
在System.Data.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.GetValue(DbDataReader reader, Int32 ordinal)中,lambda_method(Closure, Shaper), 在System.Data.Common.Internal.Materialization.Coordinator`1.ReadNextElement(Shaper shaper)中, 在System.Data.Common.Internal.Materialization.Shaper`1.SimpleEnumerator.MoveNext()中, 在System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)中, 在System.Data.Objects.ELinq.ObjectQueryProvider.b__3[TResult](IEnumerable`1 sequence)中, 在System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot)中, 在System.Linq.Queryable.Any[TSource](IQueryable`1 source)。