yul*_*lun 2 c# linq lambda entity-framework var
我对LINQ和Entity框架以及c#中的var关键字都很陌生,所以如果这听起来像是一个"新手"问题,请原谅我.
在执行以下操作后,我在检查空值时遇到问题:
var entry = myDB.Entries.Where(e => e.Email == entry.Email);
Run Code Online (Sandbox Code Playgroud)
即使数据库中不存在电子邮件,条目也不等于null.
因此,在执行下一批语句之前,if (entry == null)我不得不if (entry.Count() < 1)检查现有的条目.是否有任何理由不将变量视为null?
在你的榜样,entry将永远是null.你的想法null实际上是IEnumerable<Entry>没有物品的.
如果您想检查是否至少有一个条目符合您的条件,您通常会执行以下操作:
var entries = myDB.Entries.Where(e => e.Email == entry.Email);
if (entries.Any()) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
如果您知道最多只有一个条目,那么您也可以:
var entry = myDB.Entries.Where(e => e.Email == entry.Email).SingleOrDefault();
if (entry != null) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
这更接近您的想象,但如果有多个匹配条目,则会抛出异常.
| 归档时间: |
|
| 查看次数: |
14412 次 |
| 最近记录: |