在了解有关Entity Framework和LINQ的更多信息时,我遇到了麻烦。
我正在尝试从数据库中查找与特定日期匹配的值。
我有1.250.000个条目,其中36300个来自特定日期。
到目前为止,我正在使用普通的旧SQL,并希望练习LINQ来重构我的应用程序以使用EF。
你能说出我的错误吗?
第二种方式有效但需要很长时间~15秒
答案 0 :(得分:3)
尝试:
Where(Function(d) d.ExportedDate.HasValue AndAlso d.ExportedDate.Value = exportDate)
通过这种方式,您只能选择可空列ExportedDate
不为空的行以及等于给定日期的行。 ExportedDate.Value
返回Date
而不是d.ExportedDate
Date?
。如果您将Date?
与Date
进行比较,结果会得到Boolean?
(而不是Boolean
),因为Nothing
表示未定义。
这与C#有一个有趣的区别,相关:Why is there a difference in checking null against a value in VB.NET and C#?
要修复下一个错误:添加ToList
以创建列表。