Настройка сопоставления нескольких объектов в FNH - PullRequest
2 голосов
/ 17 ноября 2009

Я пытаюсь добавить следующее в мой класс SessionManager конфигурации FNH. У меня есть 20+ сущностей для сопоставления, и все они находятся в одном проекте в папке Entities. то есть. ProjName.BusinessLogic.Entities Классы отображения находятся под ProjName.BusinessLogic.Mappings Этот файл FNHSessionManager.cs находится в ProjName.BusinessLogic.DAL

var cfg = MsSqlConfiguration.MsSql2005
                    .ConnectionString(c => c.FromAppSetting("connectionString"));

                isf = Fluently.Configure()
                    .Database(cfg)
                    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<User>())
                    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Provider>())
                    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Document>())
                    .BuildSessionFactory();

Есть ли лучший / более короткий способ добавить их в конфигурацию, чем перечислить их все? Я не хочу разделять сущности в другом проекте, чтобы создать новую сборку. Или сопоставление только с 1 объектом?

Это мой первый проект, использующий FNH и совершенно новый со всем этим. Я даже не уверен, что я на правильном пути.

Ваш совет будет высоко оценен.

Ответы [ 2 ]

3 голосов
/ 17 ноября 2009

Вам нужно предоставить только один сопоставленный класс для каждой сборки в AddFromAssembyOf<T>, и все карты классов в этой сборке будут загружены.

0 голосов
/ 28 ноября 2012

Вам не нужно перечислять их все. Настройка сопоставления плавной конфигурации для использования всех соглашений в сборке.

Бегло .BuildSessionFactory ();

(T) может быть любым классом из вашей родительской сборки ProjName.BusinessLogic. Свободно настроит отображение из вашей сборки ProjName.BusinessLogic.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...