【发布时间】:2011-08-12 14:38:16
【问题描述】:
我有一个可以为空的 int 的视图模型...
public ObjectViewModel (){
public int? Total
}
...我的数据库中有几行总数为 null。
尽管如此,这总是返回 false:
bool exists = repo.AllRows() // renamed this for clarity; returns IQueryable
.Any(r => r.Total == vm.Total); // I know r.Total and vm.Total
// are both null
但以下返回true(如预期):
bool exists = repo.All().Any(r => r.Total == null);
知道我在这里做错了什么吗?
【问题讨论】:
-
如果 vm 为空,你会得到一个 NullReferenceException。
-
你从哪里得到 vm,它有什么价值?从结果中,我预计它的值在您的结果集中不存在。
-
在
Any之前调用All的目的是什么? -
关于 vm,即使你没有声明你在循环中这样做,如果你这样做要小心:blogs.msdn.com/b/ericlippert/archive/2009/11/12/…
-
All中的谓词是什么?据我所知,没有一个就不能调用它。
标签: c# linq extension-methods nullable