2017-02-15 20 views
0

Это заявление SQL SQL Server, который прошел в даты и времени (24 часа времени)Преобразование sql в linq, где поступают дата и время. Нужно добавить время HH

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(); 

ответ

1

Существует ничего LINQ спецификации IFIC в вопросе - просто создать два 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)