本文整理汇总了C#中ISessionImplementor.Contains方法的典型用法代码示例。如果您正苦于以下问题:C# ISessionImplementor.Contains方法的具体用法?C# ISessionImplementor.Contains怎么用?C# ISessionImplementor.Contains使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISessionImplementor
的用法示例。
在下文中一共展示了ISessionImplementor.Contains方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Generate
/// <summary>
/// Generates an identifer from the value of a Property.
/// </summary>
/// <param name="session">The <see cref="ISessionImplementor"/> this id is being generated in.</param>
/// <param name="obj">The entity for which the id is being generated.</param>
/// <returns>
/// The identifier value from the associated object or
/// <see cref="IdentifierGeneratorFactory.ShortCircuitIndicator"/> if the <c>session</c>
/// already contains <c>obj</c>.
/// </returns>
public object Generate( ISessionImplementor session, object obj )
{
object associatedObject = session.Factory
.GetClassMetadata( obj.GetType() )
.GetPropertyValue( obj, propertyName );
object id = session.Save( associatedObject );
if( session.Contains( obj ) )
{
//abort the save (the object is already saved by a circular cascade)
return IdentifierGeneratorFactory.ShortCircuitIndicator;
}
return id;
}