将 sql 转换为传入日期和时间的 linq。需要补充时间HH

Convert sql to linq where incoming date and time . Need to add time HH

这是 SQL 服务器 sql 传递日期和时间(24 小时制)的语句

declare @date varchar(10) = '2-15-2017'
declare @time varchar(2) = '11'
declare @timeExt varchar(3) = ':00'


--declare @mytime datetime = '2-15-2017 11:00'
declare @mytime datetime = @date + ' ' + @time + @timeExt

select * from [dbo].[QAList] Q
where q.CreatedDateTime between dateadd(hh,-1, @mytime) and @mytime 

然后对于 Linq 到 SQL(实体)我只做了日期,但我需要添加时间

string dateIn = "2-15-2017";
DateTime d = DateTime.Parse(dateIn);

注意 .Where

   var query =  QALists
    .Where (z => z.CreatedDateTime >= d )
    .AsEnumerable()
    .Select(z => new QAList()
                {
                    Agent = z.Agent,
                    ClientName = z.ClientName,
                    Disposition = z.Disposition,
                    CallDate = z.Calldate,
                    Comment = z.Comment,
                    CreatedDateTime = z.CreatedDateTime,
                    CallLength = z.CallLength,
                    IdentityColumnId = z.IdentityColumnId,
                    Number = z.Number,
                    InboundCall = z.InboundCall,
                    OutboundCall = z.OutboundCall,
                    Status = z.Status,
                    QAListId = z.QAListId     
                }).ToList();

问题中没有任何特定于 LINQ 的内容 - 只需创建两个包含所需范围的 DateTime 变量(如您所知,DateTime 数据类型同时包含日期和时间):

var endTime = new DateTime(2017, 02, 15, 11, 00, 00);
var startTime = endTime.AddHours(-1);

然后只需在查询条件中使用它们:

.Where (z => z.CreatedDateTime >= startTime && z.CreatedDateTime <= endTime)