ServiceStack OrmLite SUBSTRING()SqlServerDialect不正确?

时间:2015-07-28 19:49:47

标签: servicestack ormlite-servicestack

在我的AppHost.cs中,我使用SqlServerDialect.Provider创建了一个OrmLiteConnectionFactory:

OrmLiteConnectionFactory connectionFactory = new OrmLiteConnectionFactory(
    ConfigurationManager.ConnectionStrings["Key"].ConnectionString, SqlServerDialect.Provider
);

我正在创建一个SqlExpression来获取员工姓氏首字母的DISTINCT列表(不要问......)。

SqlExpression<Employee> sql = db.From<Employee>().SelectDistinct(e => e.LastName.Substring(0,1));

当我用

运行时
db.Select(sql)

我在&#39;&#39;附近找到了一个SqlException&#34;错误的语法。&#39;。&#34;跟踪显示查询

SELECT DISTINCT substring("LastName" from 1 for 1) FROM "Employee"

这不是SQL Server SUBSTRING函数的正确语法(看起来像MySQL等)。

我错过了什么吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

OrmLite使用SQL-92 standard格式作为大多数RDBMS支持的子字符串。

支持SQL Server $im = new Imagick(); $im->pingImage($imfilename); $im->readImage($imfilename); $im->trimImage(0); $im->setImagePage(0, 0, 0, 0); $im->writeImage(APP.WEBROOT_DIR.DS.'receipts/'.$date = date('YmdHis').'.jpg'); $im->destroy(); 语法刚刚添加in this commit

此更改可从v4.0.43 +现在available on MyGet获得。