Оператор SQL для дозвукового запроса - PullRequest
1 голос
/ 16 сентября 2009

Как мне написать этот оператор SQL с Subsonic 2.2 Query Object?

SELECT * FROM Product
WHERE DateDiff(d, StartDate, GetDate()) >= 0 
AND DateDiff(d, EndDate, GetDate()) <= 0

Ответы [ 2 ]

1 голос
/ 22 сентября 2009

Вы можете сделать это по-другому, если все, что вы пытаетесь достичь, это убедиться, что значение находится между двумя датами или больше, чем одна и другая.

вам просто нужно перенести вычисление даты в область .net и ввести его в свой запрос, используя либо

.Between()

или

    .AndExpression(Products.Columns.DateField).IsGreaterThan(X)
    .And((Products.Columns.DateField).IsLessThan(X)
0 голосов
/ 16 сентября 2009

Либо используйте хранимую процедуру, либо объект InlineQuery.

...