【发布时间】:2016-12-27 00:01:47
【问题描述】:
给定一个表列名ColumnNameIsVeryVeryLong。
FluentNhibernate 这样生成 SQL...
SELECT tablename0_.ColumnNameIsVeryVeryLong as ColumnNameIsVeryVeryLong2743_0_
FROM ...etc.
问题是Sybase底层数据库只支持最多30字节的标识符,所以生成的列别名ColumnNameIsVeryVeryLong2743_0_会产生如下错误。
Sybase.Data.AseClient.AseException : The identifier that starts with 'ColumnNameIsVeryVeryLong2743_0_' is too long. Maximum length is 30.
有没有办法控制生成的列别名的长度?更改列名不是一种选择。
【问题讨论】:
-
顺便说一句,Fluentnhibernate 不会生成 SQL。普通的旧 NHibernate 会做这项工作。
-
你用的是哪种方言?
标签: c# nhibernate fluent-nhibernate sybase