Лично я предпочел бы разработку на основе транков независимо от размера команды:)
Количество веток релиза на самом деле не определяется используемой методологией (TBD или чем-то еще), а скорее деловыми причинами:
Вам понадобится один конвейер Jenkins для каждой ветки релиза и один для основной ветки разработки (если вы не выпускаете напрямую из нее).
ManyToAny в настоящее время не реализуются (по состоянию на время записи).
Относительно Вашей установки для быстрых и небыстрых отображений Вы почти там с Вашим первым примером.
var cfg = MsSqlConfiguration.MsSql2005
.ConnectionString.Is(_testConnectionstring)
.ConfigureProperties(new Configuration());
cfg.AddMappingsFromAssembly(typeof(CatMap).Assembly); // loads hbm.xml files
var model = new PersistenceModel();
model.addMappingsFromAssembly(typeof(CatMap).Assembly); // loads fluent mappings
mode.Configure(cfg);
new SchemaExport(cfg).Create(true, true);
Основное различие - то, что SchemaExport является последним. Я предполагаю, что Ваш первый пример на самом деле загружал быстрые отображения, но он уже создал схему той точкой.
Отображение от Foo
кому: Baa
:
HasManyToMany< Baa > ( x => Baas )
.AsBag ( ) //can also be .AsSet()
.WithTableName ( "foobar" )
.WithParentKeyColumn ( "fooId" )
.WithChildKeyColumn ( "barId" ) ;
Проверьте примеры в ClassMapXmlCreationTester
- они также показывают, каковы имена столбцов по умолчанию.
You can do exactly what you want to do entirely within Fluent NHibernate.
The following code will use Fluent NHibernate syntax to fluently configure a session factory that looks for HBM (xml) mapping files, fluent mappings, and conventions from multiple possible assemblies.
var _mappingAssemblies = new Assembly[] { typeof(CatMap).Assembly };
var _autoPersistenceModel = CreateAutoPersistenceModel();
Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2005.ConnectionString(_testConnectionstring))
.Mappings(m =>
{
foreach (var assembly in _mappingAssemblies)
{
m.HbmMappings.AddFromAssembly(assembly);
m.FluentMappings.AddFromAssembly(assembly)
.Conventions.AddAssembly(assembly);
}
m.AutoMappings.Add(_autoPersistenceModel );
})
.ExposeConfiguration(c => c.SetProperty("command_timeout", "340"))
.BuildSessionFactory();
There are many other options available to you as well: Fluent NHibernate Database Configuration