【问题标题】:Set column collate in NHibernate mapping在 NHibernate 映射中设置列排序
【发布时间】:2013-03-13 12:45:27
【问题描述】:

我正在研究 NHibernate 映射,我们需要在特定列上指定排序规则。最好在映射期间。

想法是在 NHibernate 创建架构后,它看起来像这样:

CREATE TABLE [dbo].[Foo] (
    [Bar]        NVARCHAR (128) NULL **collate sql_latin1_general_cp1_cs_as**,
    [BarTwo]     NVARCHAR (max)
);

我目前正在使用 Fluent,但 xml 解决方案也可以。

【问题讨论】:

  • 作为一种解决方法,您可以尝试.Default("collate sql_latin1_general_cp1_cs_as")吗?
  • 对不起,这不起作用。但是我找到了使用.CustomSqlType("nvarchar(128) collate Latin1_General_CI_AS") 的解决方案。但是这意味着我需要使用 sql 类型并且不能依赖 Length 属性。

标签: nhibernate nhibernate-mapping collation


【解决方案1】:

我发现我可以将排序规则添加到 CustomSqlType。 这确实意味着我需要始终添加一个 CustomSqlType,因此需要依赖映射数据库。

.CustomSqlType("nvarchar(128) collate Latin1_General_CI_AS")

但现在它似乎有效。 有人有其他/更好的想法/提议吗?

【讨论】:

    猜你喜欢
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    相关资源
    最近更新 更多