1
我试图从数据库中使用此代码火鸟和Entity Framework错误-804
Bunts = _buntRepository.Bunts
.Where(b => !steel.HasValue || b.SteelCode == steel)
.OrderBy(b => b.CreationTime)
.Skip((page - 1) * _pageSize)
.Take(_pageSize)
实体框架获得具体数据未知的数据类型生成此SQL语句吧:
SELECT FIRST (5) SKIP (0)
"B"."BUNTCODE" AS "BUNTCODE",
"B"."BUNTNAME" AS "BUNTNAME",
"B"."BUNTDIAM" AS "BUNTDIAM",
"B"."BUNTSTEEL" AS "BUNTSTEEL",
"B"."BUNTCREATETIME" AS "BUNTCREATETIME"
FROM (SELECT
"D"."BUNTCODE" AS "BUNTCODE",
"D"."BUNTNAME" AS "BUNTNAME",
"D"."BUNTDIAM" AS "BUNTDIAM",
"D"."BUNTSTEEL" AS "BUNTSTEEL",
"D"."BUNTCREATETIME" AS "BUNTCREATETIME"
FROM "BUNTS" AS "D"
WHERE (("D"."BUNTSTEEL" = @p__linq__1) OR (("D"."BUNTSTEEL" IS NULL) AND (@p__linq__1 IS NULL)))
) AS "B"
ORDER BY "B"."BUNTCREATETIME" ASC
这代码抛出异常与文本
动态SQL错误。
SQL错误代码= -804。
数据类型未知。
IBExpert也一样。看起来像@ p__linq__1参数有问题。我该如何解决这个问题?
我使用火鸟2.1.6.18547
好吧,似乎它真的不想正确处理可空类型。你能指导我在哪里阅读有关使用FB 2.1和EF I将在未来见面的相关问题?或者我应该升级到2.5而不在意? – Pallaris
@Pallaris我建议你升级到2.5。 –
您可能需要将'steel.Value'从Where中取出,方法是首先将其分配给局部变量。 –