【发布时间】:2011-02-08 07:24:24
【问题描述】:
我有这个代码:
return session.Query<Payment>()
.OrderBy(payment => payment.Created)
.Skip((page - 1)*pageSize)
.Take(pageSize)
.ToArray();
由于 NHibernate 的 Query 方法没有任何 Contract.Ensures,我收到此警告:
CodeContracts:需要未经证实:source != null
为了解决这个问题,我写了这个:
var query = session.Query<Payment>();
Contract.Assume(query != null);
return query
.OrderBy(payment => payment.Created)
.Skip((page - 1)*pageSize)
.Take(pageSize)
.ToArray();
这是正确的做法吗?现在 Resharper 认为 query 可以为 null,因为我将它与 null 进行比较。
可能对标有“NotNull”属性的实体进行“空”赋值
【问题讨论】:
标签: c# .net nhibernate resharper code-contracts