如何使用 LINQ to SQL 和 DbLinq 选择空值?
当我
bool? isApproved = null;
db.Table.Where(item => item.IsApproved == isApproved).Count();
最后一行值为 0 时。但是当我时
db.Table.Where(item => item.IsApproved == null).Count();
该值是正确的。
When I
bool? isApproved = null;
db.Table.Where(item => item.IsApproved == isApproved).Count();
the last line value is 0. But when I
db.Table.Where(item => item.IsApproved == null).Count();
the value is correct.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我见过这样做的:
I have seen it done like this:
嗯,我以前遇到过这个问题,我记得问题在于将 LINQ 查询转换为 SQL 语句。
第二个表达式在 SQL 中具有等于:
其中 IsAproved 为 null
但第一个表达式不是,因为它是数据库中的值与 C# 可为 null 的变量之间的比较。
为了解决这个问题,我建议尝试:
Well, I had this problem before, I remember that the problem is in converting the LINQ query to a SQL statement.
The second expression has an equal in SQL that:
Where IsAproved is null
but the first expression does not because it is a comparision between a value in the database with a C# nullable variable.
To solve it, I would suggest to try:
参阅这篇文章
请 应该使用
那么你应该 联系人 Microsoft 并让他们知道这种行为有多么可怕。
See this post
You should use
Then you should contact Microsoft and let them know how terrible this behavior is.
我不知道性能会受到什么影响,但它确实有效
I don't know about the performance hit, but it works
尝试 :
Try :