本文整理汇总了C#中ObjectContext.Detach方法的典型用法代码示例。如果您正苦于以下问题:C# ObjectContext.Detach方法的具体用法?C# ObjectContext.Detach怎么用?C# ObjectContext.Detach使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectContext
的用法示例。
在下文中一共展示了ObjectContext.Detach方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ApplyChangesToEntity
/// <summary>
/// Apply changes from the newEntity to the original entity
/// </summary>
/// <param name="objectContext">ObjectContext instance.</param>
/// <param name="originalTrackedEntity">original entity which is tracked by the context.</param>
/// <param name="newEntity">newEntity which contains all the changed values.</param>
private static void ApplyChangesToEntity(ObjectContext objectContext, object originalTrackedEntity, object newEntity)
{
ObjectStateEntry objectStateEntry = objectContext.ObjectStateManager.GetObjectStateEntry(originalTrackedEntity);
string entitySetName = ObjectContextServiceProvider.GetEntitySetName(objectStateEntry, objectContext.DefaultContainerName);
if (objectStateEntry.State == EntityState.Added)
{
// In the case of batching if we do a PUT after POST in the same changeset, we need to detach and re-add.
objectContext.Detach(originalTrackedEntity);
objectContext.AddObject(entitySetName, newEntity);
}
else
{
#pragma warning disable 618
// Since we use to do this in V1, keeping the same code there.
// Apply property changes as specified in the new object.
objectContext.ApplyPropertyChanges(entitySetName, newEntity);
#pragma warning restore 618
}
}