本文整理汇总了C#中ILoadable.IsInstance方法的典型用法代码示例。如果您正苦于以下问题:C# ILoadable.IsInstance方法的具体用法?C# ILoadable.IsInstance怎么用?C# ILoadable.IsInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ILoadable
的用法示例。
在下文中一共展示了ILoadable.IsInstance方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InstanceAlreadyLoaded
/// <summary>
/// The entity instance is already in the session cache
/// </summary>
private void InstanceAlreadyLoaded(
IDataReader rs,
int i,
ILoadable persister,
EntityKey key,
object obj,
LockMode lockMode,
ISessionImplementor session)
{
if (!persister.IsInstance(obj))
{
string errorMsg = string.Format("loading object was of wrong class [{0}]", obj.GetType().FullName);
throw new WrongClassException(errorMsg, key.Identifier, persister.MappedClass);
}
if (LockMode.None != lockMode && UpgradeLocks())
{
// we don't need to worry about existing version being uninitialized
// because this block isn't called by a re-entrant load (re-entrant
// load _always_ have lock mode NONE
if (persister.IsVersioned && session.GetLockMode(obj).LessThan(lockMode))
{
// we only check the version when _upgrading_ lock modes
CheckVersion(i, persister, key.Identifier, session.GetVersion(obj), rs, session);
// we need to upgrade the lock mode to the mode requested
session.SetLockMode(obj, lockMode);
}
}
}