Я пытаюсь создать следующий sql-скрипт в дозвуковом запросе, который я могу использовать с коллекцией:
Select * from tableA
where tableA.InvoiceID = @Invoice
and tableA.VersionID = @VersionID
and tableA.ActiveDate >= GetDate()
and (tableB.InActiveDate is null or tableB.InActiveDate <= GetDate())
Вот мой текущий код:
orders = new OrdersCollection();
query = new SubSonic.Query(Tables.Orders);
query.WHERE("InvoiceID", Invoice.InvoiceID);
query.AND("VersionID", version.VersionID);
query.AND("ActiveDate", SubSonic.Is.LessThanOrEqualTo(System.DateTime.Now.ToString()).Value);
query.AND("InActiveDate", SubSonic.Comparision.Is, null).OR("InActiveDate", SubSonic.Is.GreaterThanOrEqualTo("System.DateTime.Now.ToString()).Value);
query.CommandTimeOut = intSubSonicTimeOut;
partXrefColl.Load (FilePartXref.FetchByQuery (запрос));
Проблема, с которой, как мне кажется, я сталкиваюсь, заключается в том, что вычисление даты и утверждение ИЛИ. Я попробовал это только с InvoiceID и VersionID, и я возвращаю данные в коллекцию.
Любая помощь будет принята с благодарностью.