2017-12-10 3 views
0

나는이 질문을 알고 있기 때문에 이전에 100 번처럼 질문했습니다. 그들 중 누구도 EF6와 함께 일하는 것 같지 않습니다.EF6 SaveChanges() 이후에 ID 열 값 가져 오기

단순히 EF6을 사용하여 SQL Server 데이터베이스에 레코드를 쓰고 SaveChanges()를 수행 한 후 Identity 열의 값을 복구하려고합니다.

여기 내 간단한 프로그램입니다 :

 using (var ctx = new myEntities()) 
     { 
      ctx.TinyUrl_Url.Add(new TinyUrl_Url() 
      { 
       UrlValue = tinyUrl 
      }); 
      ctx.SaveChanges(); 
     } 

TinyUrl_Url 테이블이 개 컬럼이 있습니다 UrlValue 및 URLID의 정체성 PK를. EF6을 사용하여 새 행을 삽입 한 후 UrlID 값을 얻으려면 어떻게해야합니까?

감사합니다.

+0

var addedUrl = ctx.TinyUrl_Url.Add (...); SaveChanged 후에 객체의 ID AddedUrl이 데이터베이스에 삽입 된 객체에 주어진 ID로 채워진 경우 –

답변

0
int Id = ctx.UrlID; 

개인적으로 나는이 저장 한 후 작업을해야

context.Customers.Add(customer); 
context.SaveChanges();//this generates the Id for customer 
order.CustomerId = customer.Id;//finally I can set the Id 

을 방법 - 않습니다.

+0

코드를 광산으로 번역하려고 할 때 컴파일 오류가 발생하기 때문에 무언가를 놓치고 있어야합니다. 여기가 당신의 아이디어를 사용하려고,이 내용은 다음과 같습니다 이 (var에 CTX = 새로운 myEntities을()) { ctx.TinyUrl_Url.Add를 사용하여 (새 TinyUrl_Url() { UrlValue = 티니 URL }); ctx.SaveChanges(); long theID = TinyUrl_Url.Id; // 해당 속성 없음, Id 내가 누락 된 부분을 말씀해 주시겠습니까? –

+0

먼저 TinyUrl의 새 obj를 만든 다음 url을 속성에 추가하고 개체를 전달한 다음 @BarryDysert를 확인합니다. –