タイプnvarcharのすべての列に対してNhibernateによって生成された照合を制御することは可能ですか? ソフトウェアがインストールされている文化によっては、構成ファイルからこのオプションを読み取るインストーラーから制御すると便利な場合があります。
具体的なクエリ結果に照合を追加する方法を見つけました
タイプnvarcharのすべての列に対してNhibernateによって生成された照合を制御することは可能ですか? ソフトウェアがインストールされている文化によっては、構成ファイルからこのオプションを読み取るインストーラーから制御すると便利な場合があります。
具体的なクエリ結果に照合を追加する方法を見つけました
はい、可能です。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");
}
}