В SubSonic версии 2.2 следующий (специфичный для MSSQL) код завершается ошибкой:
SqlQuery update =
new Update(SomeTable)
.SetExpression(SomeTable.SomeDateTimeColumn).IsEqualTo("GETDATE()")
.Where(SomeTable.IdColumn).IsEqualTo(id);
В этот момент update.ToString()
создает совершенно законное SQL-предложение:
UPDATE [dbo].[SomeTable] SET [SomeDateTime]=GETDATE()
WHERE [dbo].[SomeTable].[ID] = @ID0
update.Execute()
однако терпит неудачу с:
{"Failed to convert parameter value from a String to a DateTime."}
at SubSonic.Update.Execute()
Есть ли возможность использовать функции SQL Server в выражениях?