Есть ли какие-либо инструменты на основе графического интерфейса, которые помогут вам в написании и обслуживании конфигурационного файла? Любые инструменты кода для кодирования файла конфигурации? Каковы наилучшие способы сделать это немного проще? Большинство людей просто используют Castle ActiveRecord сейчас?NHibernate - Есть ли хорошие инструменты, которые помогут вам в конфигурационном файле?
ответ
Для кода/генерация карт существует ряд шаблонов для MyGeneration для создания конфигурационных файлов и/или классов из базы данных. CodeSmith имеет шаблоны NHibernate, но CodeSmith не является бесплатным, поэтому у MyGeneration есть преимущество.
MyGeneration имеет графический интерфейс, который позволяет загружать шаблоны, управлять подключениями к базе данных, устанавливать свойства шаблона, генерировать код и т. Д. Это не лучший пользовательский опыт, но он работает.
Как уже упоминалось, Fluent-NHibernate может стоить попробовать, если вы не хотите писать файлы сопоставления XML. Документация немного несуществующая, но ее очень легко начать. Если вы обнаружите, что делаете много рефакторинга, это может быть заставка в режиме реального времени.
Ниже приведен пример отображения Свободно-NHibernate:
public CustomerMap : ClassMap<Customer>
{
public CustomerMap()
{
Id(x => x.ID);
Map(x => x.Name);
Map(x => x.Credit);
HasMany<Product>(x => x.Products)
.AsBag();
Component<Address>(x => x.Address, m =>
{
m.Map(x => x.AddressLine1);
m.Map(x => x.AddressLine2);
m.Map(x => x.CityName);
m.Map(x => x.CountryName);
});
}
}
Я просто изучаю NHibernate (из серии excellent Summer of NHibernate). Я не знаю никаких инструментов графического интерфейса, но я подумал, что я хотел бы указать, что если вы установите файлы NHibernate schmema (находящиеся в корневой папке установки) в C: \ Program Files \ Microsoft Visual Studio 9.0 \ Xml \ Schemas, вы получаете помощь intellisense как с общим файлом конфигурации, так и с файлом конфигурации сопоставления. Я нашел, что это большая помощь.
Вы можете захотеть взглянуть на беглом спящем режиме, чтобы получить тип безопасной конфигурации