【发布时间】:2011-03-03 06:05:15
【问题描述】:
对于像这样的 LINQ 查询:
var entities = from Account p in context.Accounts
where p.LastTimeServerSettingsChanged > p.LastTimeDeviceConnected
select p;
生成的查询是:
SELECT
[Extent1].[Username] AS [Username],
[Extent1].[LastTimeDeviceConnected] AS [LastTimeDeviceConnected],
[Extent1].[LastTimeServerSettingsChanged] AS [LastTimeServerSettingsChanged]
FROM [dbo].[Account] AS [Extent1]
WHERE [Extent1].[LastTimeServerSettingsChanged] > [Extent1].[LastTimeDeviceConnected]
这不起作用(没有结果)。
以下也生成相同的 SQL(因此也没有结果)
var entities = context.Accounts.Where(k => k.LastTimeServerSettingsChanged > k.LastTimeDeviceConnected).Select(k => k);
我的问题是为什么以及如何执行此查询(使用 LINQ)?
【问题讨论】:
-
你想做什么?您将如何编写 SQL?
-
...您已经验证执行查询的数据库中有符合条件的数据?
-
弗雷德里克,你说得对。我在错误的数据库上运行查询。我会给自己一些减分!
标签: linq datetime linq-to-entities