本文整理汇总了C#中NHibernate.Mapping.List.Reverse方法的典型用法代码示例。如果您正苦于以下问题:C# List.Reverse方法的具体用法?C# List.Reverse怎么用?C# List.Reverse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NHibernate.Mapping.List
的用法示例。
在下文中一共展示了List.Reverse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateIndexes
private void CreateIndexes(Configuration config, Collection collection)
{
if(collection.Element is ManyToOne)
{
// many-to-many collection
// collect all columns that participate in foreign keys
HybridSet columns = new HybridSet();
foreach (ForeignKey fk in collection.CollectionTable.ForeignKeyIterator)
{
CollectionUtils.ForEach(fk.ColumnIterator,
delegate(Column col)
{
columns.Add(col);
});
}
// there should always be exactly 2 "foreign key' columns in a many-many join table, AFAIK
if (columns.Count != 2)
{
throw new Exception("SNAFU");
}
List<Column> indexColumns = new List<Column>(new TypeSafeEnumerableWrapper<Column>(columns));
// create two indexes, each containing both columns, going in both directions
CreateIndex(collection.CollectionTable, indexColumns);
indexColumns.Reverse();
CreateIndex(collection.CollectionTable, indexColumns);
}
else
{
// this is a value collection, or a one-to-many collection
// find the foreign-key that refers back to the owner table (assume there is only one of these - is this always true??)
ForeignKey foreignKey = CollectionUtils.SelectFirst<ForeignKey>(collection.CollectionTable.ForeignKeyIterator,
delegate (ForeignKey fk) { return Equals(fk.ReferencedTable, collection.Table); });
// create an index on all columns in this foreign key
if(foreignKey != null)
{
CreateIndex(collection.CollectionTable, new TypeSafeEnumerableWrapper<Column>(foreignKey.ColumnIterator));
}
}
}