2

タイプnvarcharのすべての列に対してNhibernateによって生成された照合を制御することは可能ですか? ソフトウェアがインストールされている文化によっては、構成ファイルからこのオプションを読み取るインストーラーから制御すると便利な場合があります。

具体的なクエリ結果に照合を追加する方法を見つけました

4

1 に答える 1

2

はい、可能です。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");
    }
}
于 2014-02-10T12:50:16.813 に答える