繁体   English   中英

无法执行Nhibernate查询

[英]Cannot execute Nhibernate query

我收到以下Nhiberante错误,但不知道为什么:

无法执行查询[选择附件0_.AttachmentId作为Attachme1_9_,附件0_.Name作为Name9_,附件0_.IconUrl作为IconUrl9_,附件0_.UserId作为UserId9_,附件0_.AttachmentTypeId作为Attachme6_9_,附件0_.IsDeleted作为IsDeleted9_T,附件0_。 LocationId作为Attachment_Attachment附件0_中的LocationId9_,其中annex0_.DYNAMIC_TYPE ='Attachment'并且1 = 0] [SQL:选择附件0_.AttachmentId作为Attachme1_9_,附件0_.Name作为Name9_,附件0_.IconUrl作为IconUrl9_,附件0_.UserchType作为UserId9_,作为Attachme6_9_,附件0_.IsDeleted作为IsDeleted9_,附件0_.ArrivalTime作为ArrivalT8_9_,附件0_.LocationId作为来自Attachment_Attachment附件0_的LocationId9_,其中附件0_.DYNAMIC_TYPE ='附件',并且1 = 0]

更新:

内部异常:

Failed to convert parameter value from a WhereSelectListIterator`2 to a Guid.

我的查询:

x => locationsIds.Contains(x.LocationId)

locationsIds可能是通过调用Where返回的IEnumerable。 最简单的解决方案是将其显式转换为列表:

var idsList = locationIds.ToList();
x => idsList.Contains(x.LocationId);

检查InnerException 我敢肯定,它将指向您正确的地方。

我知道这里已经回答了这个特定问题,但是我也遇到了此异常(具有不同的列名),并且失败的原因是我使用了错误的数据库。 我已经向一个数据库中添加了一个新表,但是在运行代码时,我已将其配置为使用另一个数据库。 一旦我使用了正确的数据库,错误就消失了。

我希望这可以帮助别人!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM