是否可以控制 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/