c# - Fluent Nhibernate,添加排序规则作为约定的一部分

标签 c# sql-server fluent-nhibernate collation

是否可以控制 Nhibernate 为所有 nvarchar 类型的列生成的排序规则?根据安装软件的文化,最好从安装程序中控制它,安装程序会从配置文件中读取此选项。

我找到了向具体查询结果添加排序规则的方法

最佳答案

是的,这是可能的。您可以使用 CustomSqlType 指定列的排序规则(以 NOCASE 排序规则为例):

public class CaseInsensitiveStringConvention : IPropertyConventionAcceptance, IPropertyConvention
{
    public void Accept(IAcceptanceCriteria<IPropertyInspector> criteria)
    {
        // More work could be done here to ensure you get nvarchars only
        criteria.Expect(c => c.Property.PropertyType == typeof(string));
    }

    public void Apply(IPropertyInstance instance)
    {
        instance.CustomSqlType("text COLLATE NOCASE");
    }
}

关于c# - Fluent Nhibernate,添加排序规则作为约定的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13229374/

相关文章:

c# - .NET 框架先决条件

c# - 发送和接收 post 变量

c# - 如何使用列表和关系对象测试 fluent-NHibernate 的 PersistenceSpecification.VerifyTheMappings?

fluent-nhibernate - bool 值的 Fluent NHibernate 自定义类型约定

sql-server - 尽管安装了 SQL Server,但未安装 SQL Server PowerShell 管理单元

c# - 在另一个程序集中扩展流畅的 nhibernate 映射

c# - 接口(interface)继承。不实现接口(interface)错误

c# 简单的 xml 阅读器跳过所有其他元素

sql-server - 为什么使用临时表比嵌套查询更快?

sql - 无法连接到 SQL Server - 登录失败