Установить сопоставление столбцов в отображении NHibernate

Я изучаю отображение NHibernate, и мы находимся в ситуации, когда нам нужно указать сопоставление для определенного столбца. Желательно во время составления карты.

Идея состоит в том, что после того, как NHibernate создаст схему, она будет выглядеть примерно так:

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

В настоящее время я использую Fluent, но также можно использовать xml-решение.


person Ronald    schedule 13.03.2013    source источник
comment
Не могли бы вы попробовать .Default("collate sql_latin1_general_cp1_cs_as") в качестве обходного пути?   -  person Firo    schedule 13.03.2013
comment
Извините, это не работает. Однако я нашел решение, используя .CustomSqlType("nvarchar(128) collate Latin1_General_CI_AS"). Однако это означает, что мне нужно использовать тип sql и я не могу полагаться на свойство Length.   -  person Ronald    schedule 13.03.2013


Ответы (1)


Я обнаружил, что могу добавить сопоставление в CustomSqlType. Это означает, что мне нужно всегда добавлять CustomSqlType и, следовательно, делать базу данных сопоставления зависимой.

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

Но пока вроде работает. У кого-нибудь есть другая / лучшая идея / предложение?

person Ronald    schedule 18.03.2013