0
我想从表中选择记录基于日期使用Linq to SQL。不幸的是,日期分成两个表 - 小时表有一天,相关的工作时间表有两列中的月份和年份。LINQ to SQL选择记录并转换日期
我有以下查询:
Dim qry = From h As Hour In ctx.Hours Where Convert.ToDateTime(h.day & "/" & h.JobTime.month & "/" & h.JobTime.year & " 00:00:00") > Convert.ToDateTime("01/01/2012 00:00:00")
这给我的错误“算术溢出错误将表达式转换为数据类型日期时间。”
望着SQL Server Profiler中的SQL查询,我看到:
exec sp_executesql N'SELECT [t0].[JobTimeID], [t0].[day], [t0].[hours]
FROM [dbo].[tbl_pm_hours] AS [t0]
INNER JOIN [dbo].[tbl_pm_jobtimes] AS [t1] ON [t1].[JobTimeID] = [t0].[JobTimeID]
WHERE (CONVERT(DateTime,(((((CONVERT(NVarChar,[t0].[day])) + @p0) + (CONVERT(NVarChar,COALESCE([t1].[month],NULL)))) + @p1) + (CONVERT(NVarChar,COALESCE([t1].[year],NULL)))) + @p2)) > @p3',N'@p0 nvarchar(4000),@p1 nvarchar(4000),@p2 nvarchar(4000),@p3 datetime',@p0=N'/',@p1=N'/',@p2=N' 00:00:00',@p3='2012-01-31 00:00:00'
我可以看到,它不是在日期传球寻找正确的,但我不知道如何纠正它。
任何人都可以请帮忙吗?
感谢, 艾玛