本文整理汇总了C#中IClassMap.GetAutoIncreasingIdentityPropertyMap方法的典型用法代码示例。如果您正苦于以下问题:C# IClassMap.GetAutoIncreasingIdentityPropertyMap方法的具体用法?C# IClassMap.GetAutoIncreasingIdentityPropertyMap怎么用?C# IClassMap.GetAutoIncreasingIdentityPropertyMap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IClassMap
的用法示例。
在下文中一共展示了IClassMap.GetAutoIncreasingIdentityPropertyMap方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UpdateAutoIncIdProperty
public virtual void UpdateAutoIncIdProperty(IObjectManager om, object obj, IClassMap classMap, object newId)
{
IContext ctx = m_SqlEngineManager.Context;
string prevId;
string autoPropName;
IPropertyMap autoProp;
object autoID = null;
prevId = om.GetObjectIdentity(obj);
autoProp = classMap.GetAutoIncreasingIdentityPropertyMap();
autoPropName = autoProp.Name;
PropertyInfo propInfo = obj.GetType().GetProperty(autoProp.Name);
if (propInfo.PropertyType == typeof(System.Int64))
{
autoID = Convert.ToInt64(newId);
}
else if (propInfo.PropertyType == typeof(System.Int16))
{
autoID = Convert.ToInt16(newId);
}
else if (propInfo.PropertyType == typeof(System.Double))
{
autoID = Convert.ToDouble(newId);
}
else if (propInfo.PropertyType == typeof(System.Decimal))
{
autoID = Convert.ToDecimal(newId);
}
else
{
autoID = Convert.ToInt32(newId);
}
om.SetPropertyValue(obj, autoPropName, autoID);
//om.SetOriginalPropertyValue(obj, autoPropName, autoID);
om.SetNullValueStatus(obj, autoPropName, false);
ctx.IdentityMap.UpdateIdentity(obj, prevId);
}