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サーバー関数を使用する可能性はありますか?