4

나는 Entity Framework 4.1 code first을 사용하고 있습니다. Idle 열이 자동 증가 된 열인 제품 테이블이 있습니다. Product 인스턴스를 추가 할 때이 새 ID 또는 업데이트 된 Product (속성이 반환 됨)를 얻는 방법은 무엇입니까?엔터티 프레임 워크 코드에서 자동 증가 값을 얻는 방법

내 저장소 코드 :

MyContext db = new MyContext(); 

public void Insert(Product product) 
{ 
    db.Products.Add(product); 
    db.SaveChanges(); 
} 

답변

7

product.Id 건물의 삽입 모양을 수행 한 후 (또는 무엇이든 ID 속성이라고합니다). EF가 데이터베이스에서 지정한 값으로 업데이트됩니다.

+0

saveChanges를 만들기 전에 더 많은 변경이 필요한 트랜잭션에서 어떻게해야합니까? 따라서 거래는 먼저 제품 추가를 한 다음 productId (자동 증가)로 주문 세부 사항을 저장합니다. 그리고 둘 다 끝나면 변경 사항을 저장해야합니다. 그게 가능하니? –

+1

EF가 외래 키를 설정하도록 할 수 있습니다 :'db.Products.Add (product); orderDetail.Add (product); db.OrderDetails.Add (orderDetail); db.SaveChanges();' –