ObjectContext.CreateEntityKey(String, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
특정 개체에 대한 엔터티 키를 만들거나 엔터티 키가 이미 있는 경우 해당 엔터티 키를 반환합니다.
public:
System::Data::EntityKey ^ CreateEntityKey(System::String ^ entitySetName, System::Object ^ entity);
public System.Data.EntityKey CreateEntityKey (string entitySetName, object entity);
member this.CreateEntityKey : string * obj -> System.Data.EntityKey
Public Function CreateEntityKey (entitySetName As String, entity As Object) As EntityKey
매개 변수
- entitySetName
- String
엔터티 개체가 속한 엔터티 집합의 정규화된 이름입니다.
- entity
- Object
엔터티 키를 검색 중인 개체입니다.
반환
개체의 EntityKey입니다.
예외
매개 변수 중 하나가 null
인 경우
entitySetName
이 비어 있는 경우
또는
entity
개체의 형식이 엔터티 집합에 없는 경우
또는
entitySetName
이 정규화되어 있지 않은 경우
제공된 매개 변수를 기반으로 엔터티 키를 성공적으로 생성할 수 없는 경우
예제
이 예제에서 는 CreateEntityKey 기존 개체의 엔터티 키를 검색하는 데 사용됩니다.
private static void ApplyItemUpdates(SalesOrderDetail updatedItem)
{
// Define an ObjectStateEntry and EntityKey for the current object.
EntityKey key = default(EntityKey);
object originalItem = null;
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
// Create the detached object's entity key.
key = context.CreateEntityKey("SalesOrderDetails", updatedItem);
// Get the original item based on the entity key from the context
// or from the database.
if (context.TryGetObjectByKey(key, out originalItem))
{
// Call the ApplyCurrentValues method to apply changes
// from the updated item to the original version.
context.ApplyCurrentValues(key.EntitySetName, updatedItem);
}
context.SaveChanges();
}
}
설명
에 대한 entity
가 EntityKey 없으면 메서드는 CreateEntityKey 새 키를 만듭니다.
이 메서드는 동일한 EntityKey 개체가 이미 에 ObjectContext연결되어 있는지 여부를 확인하는 데 사용됩니다. 동일한 EntityKey 개체가 이미 연결되어 있으면 예외가 발생합니다. 메서드를 CreateEntityKey 호출하기 전에 분리된 개체의 를 검색 EntityKey 하려면 메서드를 Attach 사용합니다.
적용 대상
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기