本文整理汇总了C#中IEntityPersister.IsUnsavedVersion方法的典型用法代码示例。如果您正苦于以下问题:C# IEntityPersister.IsUnsavedVersion方法的具体用法?C# IEntityPersister.IsUnsavedVersion怎么用?C# IEntityPersister.IsUnsavedVersion使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IEntityPersister
的用法示例。
在下文中一共展示了IEntityPersister.IsUnsavedVersion方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SubstituteValuesIfNecessary
/// <summary>
/// Perform any property value substitution that is necessary
/// (interceptor callback, version initialization...)
/// </summary>
/// <param name="entity">The entity </param>
/// <param name="id">The entity identifier </param>
/// <param name="values">The snapshot entity state </param>
/// <param name="persister">The entity persister </param>
/// <param name="source">The originating session </param>
/// <returns>
/// True if the snapshot state changed such that
/// reinjection of the values into the entity is required.
/// </returns>
protected virtual bool SubstituteValuesIfNecessary(object entity, object id, object[] values, IEntityPersister persister, ISessionImplementor source)
{
bool substitute = source.Interceptor.OnSave(entity, id, values, persister.PropertyNames, persister.PropertyTypes);
//keep the existing version number in the case of replicate!
if (persister.IsVersioned)
{
// NH Specific feature (H3.2 use null value for versionProperty; NH ask to persister to know if a valueType mean unversioned)
object versionValue = values[persister.VersionProperty];
substitute |= Versioning.SeedVersion(values, persister.VersionProperty, persister.VersionType, persister.IsUnsavedVersion(versionValue), source);
}
return substitute;
}