, ( Fluent NHibernate Sql Azure), . , . , HBM configuration.AddXmlFile("AddClusteredIndexesToManyToManyTables.hbm.xml");, HBM, , .
, ( !) hbm xml. :
โ 1: , SQL Server.
, ( , ), (Fluent) NHibernate configuration.ClassMappings configuration.CollectionMappings. , " ".
foreach (var collectionMapping in configuration.CollectionMappings
.Where(x => !x.IsOneToMany)) {
const string columnFormat = "{0}_id";
var leftColumn = new Column(string.Format(
columnFormat,
collectionMapping.Owner.MappedClass.Name));
var rightColumn = new Column(string.Format(
columnFormat,
collectionMapping.GenericArguments[0].Name));
var manyToManyTable = collectionMapping.CollectionTable;
var shortTableName = (manyToManyTable.Name.Length <= 8)
? manyToManyTable.Name
: manyToManyTable.Name.Substring(0, 8);
var primaryKey = new PrimaryKey {
Name = string.Format("PK_{0}", shortTableName),
};
primaryKey.AddColumn(leftColumn);
primaryKey.AddColumn(rightColumn);
manyToManyTable.PrimaryKey = primaryKey;
}
, , , , (^ _-). , / .
!