在 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 函数?