per*_*ija 2 c# asp.net linq-to-sql
我有以下查询,它应该不返回任何行,但返回4:
var testAgainst = db.MyForm1_hosps.Select(ta => ta.recordId == recordId);
Run Code Online (Sandbox Code Playgroud)
如果我使用以下查询,我会按预期获得零行:
var testAgainst = from ta in db.MyForm1_hosps
where ta.recordId == recordId
select ta;
Run Code Online (Sandbox Code Playgroud)
MyForm1_hosp中有四行但是在我的测试中没有匹配recordId.
代码不是谎言,所以我对LINQ的理解是不正确的.有人可以向我解释为什么第一行返回4行时它应该返回0?
您的第一个查询有错误.更改Select到Where.
var testAgainst = db.MyForm1_hosps.Where(ta => ta.recordId == recordId);
Run Code Online (Sandbox Code Playgroud)
使用以下方法调查原始查询Select(ta => ta.recordId == recordId):这将返回一系列布尔值.如果没有任何记录db.MyForm1_hosps具有recordId与输入匹配的值,则结果将全部为假.如果您有4条记录,则会得到4个错误值.你有4个结果,但它们不是你认为的类型!
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |