nhibernate参数绑定顺序潜在错误?
我正在使用最新的nhibernate 3,我的查询:nhibernate参数绑定顺序潜在错误?,nhibernate,debugging,linq-to-nhibernate,Nhibernate,Debugging,Linq To Nhibernate,我正在使用最新的nhibernate 3,我的查询: iqt = rps.Terminals.GetQuery().Where(x => x.NetProtocol.Id == 4); var res = iqt.OrderBy(x => x.Attributes[124]).ToList(); //ITerminal have IDictionary<long,string> 我认为nhibernate无法正确解析带有子选择的参数绑定顺序。 是否有nhibernat
iqt = rps.Terminals.GetQuery().Where(x => x.NetProtocol.Id == 4);
var res = iqt.OrderBy(x => x.Attributes[124]).ToList();
//ITerminal have IDictionary<long,string>
我认为nhibernate无法正确解析带有子选择的参数绑定顺序。
是否有nhibernate专家或开发人员来确认它,并说明如何修复它
它看起来确实很笨重
请在上打开一个问题,包括一个小的复制项目或测试用例,谢谢您的回复,我将其发布到了,但我无法创建复制项目…@SanjaMelnichuk:为什么?如果你不能复制你的缺陷,它将不会得到修复。我不能,因为它使用了我的数据库表等,但复制每个问题time@SanjaMelnichuk:和?只需删除与问题无关的所有内容。不需要数据库,只需要类、映射和查询。
SELECT terminal0_.ID AS ID4_ ,
terminal0_.ALIAS AS ALIAS4_ ,
terminal0_.TTYPE_ID AS TTYPE3_4_ ,
terminal0_.IP_ADDRESS AS IP4_4_ ,
terminal0_.STREET AS STREET4_ ,
terminal0_.LOCATION AS LOCATION4_ ,
terminal0_.MODEL_ID AS MODEL7_4_ ,
terminal0_.NODE_ID AS NODE8_4_ ,
terminal0_.NETPROTOCOL_ID AS NETPROTO9_4_,
(SELECT (xml_desc(terminal0_.street,'UA'))
FROM terminals
WHERE terminals.id =terminal0_.Id
) AS formula1_,
(SELECT (xml_desc(terminal0_.location,'UA'))
FROM terminals
WHERE terminals.id =terminal0_.Id
) AS formula2_,
(SELECT (xml_desc(terminal_models.description,'EN'))
FROM terminal_models
WHERE terminal_models.id = terminal0_.MODEL_ID
) AS formula3_
FROM TERMINALS terminal0_,
TERM_ATTRIBUTES attributes1_
WHERE terminal0_.ID =attributes1_.TERM_ID
AND attributes1_.ATTR_ID = :p0
AND terminal0_.NETPROTOCOL_ID=:p1 //-> bug here it bind p1 with 124 value but correct p0
ORDER BY attributes1_.VALUE ASC;
:p0 = 4 [Type: Int64 (0)],
:p1 = 124 [Type: Int64 (0)]