0

我想Stored Procedure查询

var labratorySerialFinalResult = repository.UoW.Orm.Database.SqlQuery<SPLabratorySerialFinalResult>("EXECUTE LabratorySerialFinalResult @OrderNo='" + project.OrderNumber + "'")

并使用如下结果:

 var result = projSerials.Where(x =>!labratorySerialFinalResult.Any(v => v.SerialNo == x.SerialNo)
.Union(labratorySerialFinalResult.Where(c => c.FinalResult == "Reject");

但是让我遇到以下异常:

Unable to create a constant value of type SPLabratorySerialFinalResult Only primitive types or enumeration types are supported in this context.
4

1 回答 1

0
var labratorySerialFinalResult = repository.UoW.Orm.Database.SqlQuery<SPLabratorySerialFinalResult>("EXECUTE LabratorySerialFinalResult @OrderNo='" + project.OrderNumber + "'").AsEnumerable();

var result = projSerials.AsEnumerable().Where(x =>!labratorySerialFinalResult.Any(v => v.SerialNo == x.SerialNo)
          .Union(labratorySerialFinalResult.Where(c => c.FinalResult == "Reject");

不支持引用非标量变量

不支持在查询中引用非标量变量,例如实体。执行此类查询时,将引发 NotSupportedException 异常,并显示一条消息,指出“无法创建 EntityType 类型的常量值。在此上下文中仅支持原始类型('例如 Int32、String 和 Guid')。”

于 2013-10-12T06:24:16.037 回答