VB.NET LINQ方法语法不允许从';布尔?';至';布尔值';
当我进一步了解实体框架和LINQ时,我遇到了麻烦 我试图从数据库中查找与特定日期匹配的值 我有1250000个条目,其中36300个来自特定日期 到目前为止,我一直在使用普通的SQL,并希望练习LINQ来重构我的应用程序以使用EF 你能告诉我哪里错了吗 第二种方法可行,但需要花费大量时间~15秒 试试:VB.NET LINQ方法语法不允许从';布尔?';至';布尔值';,vb.net,entity-framework,linq,entity-framework-6,Vb.net,Entity Framework,Linq,Entity Framework 6,当我进一步了解实体框架和LINQ时,我遇到了麻烦 我试图从数据库中查找与特定日期匹配的值 我有1250000个条目,其中36300个来自特定日期 到目前为止,我一直在使用普通的SQL,并希望练习LINQ来重构我的应用程序以使用EF 你能告诉我哪里错了吗 第二种方法可行,但需要花费大量时间~15秒 试试: Where(Function(d) d.ExportedDate.HasValue AndAlso d.ExportedDate.Value = exportDate) 通过这种方式,您只选
Where(Function(d) d.ExportedDate.HasValue AndAlso d.ExportedDate.Value = exportDate)
通过这种方式,您只选择可空列ExportedDate
不为空且等于给定日期的行ExportedDate.Value
返回Date
而不是d.ExportedDate
,后者是日期?
。如果将日期
与日期
进行比较,则结果为布尔值
(不是布尔值
),因为无
表示未定义
这是与C#有关的一个有趣的区别:
修复下一个错误:追加ToList
以创建列表 试试看:
Where(Function(d) d.ExportedDate.HasValue AndAlso d.ExportedDate.Value = exportDate)
通过这种方式,您只选择可空列ExportedDate
不为空且等于给定日期的行ExportedDate.Value
返回Date
而不是d.ExportedDate
,后者是日期?
。如果将日期
与日期
进行比较,则结果为布尔值
(不是布尔值
),因为无
表示未定义
这是与C#有关的一个有趣的区别:
修复下一个错误:追加
ToList
以创建列表 下一个错误:追加ToList
以创建列表。根据另一个,请尝试:Where(函数(d)d.ExportedDate.HasValue和also d.ExportedDate.Value=exportDate)
如果有时间,您可以将此作为答案,并向我解释为什么您的代码可以正常工作。我会将此标记为答案。谢谢!:)此警告并非特定于LINQ。@user6144226特定于什么,以便我可以进行一些研究?提示:Option StrictNext错误:appendToList
创建列表。根据另一个,请尝试:Where(函数(d)d.ExportedDate.HasValue和also d.ExportedDate.Value=exportDate)
如果有时间,您可以将此作为答案,并向我解释为什么您的代码可以正常工作。我会将此标记为答案。谢谢!:)此警告并非特定于LINQ。@user6144226特定于什么,以便我可以做一些研究?提示提示:选项严格感谢您对日期的澄清?布尔值呢?。直到现在才听说。那对我将来会有帮助的。现在完全有道理了+1感谢您对日期的澄清?布尔值呢?。直到现在才听说。那对我将来会有帮助的。现在完全有道理了+1.