本文整理汇总了C#中ISessionImplementor.GetCollectionEntry方法的典型用法代码示例。如果您正苦于以下问题:C# ISessionImplementor.GetCollectionEntry方法的具体用法?C# ISessionImplementor.GetCollectionEntry怎么用?C# ISessionImplementor.GetCollectionEntry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISessionImplementor
的用法示例。
在下文中一共展示了ISessionImplementor.GetCollectionEntry方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DeleteOrphans
private static void DeleteOrphans(System.Type entityName, IPersistentCollection pc, ISessionImplementor session)
{
ICollection orphans;
if (pc.WasInitialized) // can't be any orphans if it was not initialized
{
CollectionEntry ce = session.GetCollectionEntry(pc);
orphans = ce == null ? CollectionHelper.EmptyCollection :
ce.GetOrphans(entityName, pc);
}
else
{
orphans = CollectionHelper.EmptyCollection;
}
foreach (object orphan in orphans)
{
if (orphan != null)
{
session.Delete(orphan);
}
}
}
示例2: SetCurrentSession
/// <summary>
/// Associate the collection with the given session.
/// </summary>
/// <param name="session"></param>
/// <returns>false if the collection was already associated with the session</returns>
public bool SetCurrentSession(ISessionImplementor session)
{
if (session == this.session
// NH: added to fix NH-704
&& session.GetCollectionEntry(this) != null
)
{
return false;
}
else
{
if (IsConnectedToSession)
{
throw new HibernateException("Illegal attempt to associate a collection with two open sessions");
}
else
{
this.session = session;
return true;
}
}
}