1

在旧版本的 NHibernate 中,ICriteriaQuery 中有一个名为“AddUsedTypedValues”的方法。升级到 NHibernate 3.1 后,这种方法就不存在了。有谁知道该方法在哪里移动(到另一个接口)或 NHibernate 明确删除了对它的支持?

谢谢!

4

1 回答 1

1

方法AddUsedTypedValues以及(AbstractCriterion : )ICriterion内部实现已被替换。AddUsedTypedValues 是一种注入参数的方法,它们后来在 ICriterion 实现者中被调用,如sqlStringBuilder.AddParameter();(所以从添加和使用的距离是显着的而不是明确的)当前版本(3+)提供 ICriteriaQuery 方法

IEnumerable NewQueryParameter(TypedValue 参数);

可用于获取参数数组,然后在构建 SQL 语句时显式使用:

var parameter = criteriaQuery.NewQueryParameter(typedValue).Last()
sqlStringBuilder.Add(parameter); 

现在很清楚将哪个参数添加到 SQL 语句中。我必须实现自己的 ICrietrion,所以我也遇到了这个问题......

于 2012-10-24T04:39:31.213 回答