반응형
Entity Framework 6에서 분리 된 엔터티 저장
Entity Framework에서 분리 된 엔터티를 저장하는 방법에 대한 많은 게시물을 읽었습니다. 모두 이전 버전의 Entity Framework에 적용되는 것 같습니다. 그들은 존재하지 않는 것으로 보이는 ApplyCurrentValues 및 ChangeObjectState와 같은 메서드를 참조합니다. 변덕에 나는 intellisense를 통해 찾은 방법을 시도하기로 결정했고 이것이 장면 뒤에서 일어나는 일을 볼 수 없기 때문에 이것이 올바른 방법인지 확인하고 싶습니다.
public void SaveOrder(Order order)
{
using (VirtualWebEntities db = new VirtualWebEntities())
{
db.Orders.Attach(order);
db.Entry(order).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
}
}
변경된 기존 항목을 업데이트하는 올바른 방법입니까?
네, 맞습니다. 이 문서에서는 엔티티를 추가하고 연결하는 다양한 방법에 대해 설명 하고 다음 예제를 제공합니다.
var existingBlog = new Blog { BlogId = 1, Name = "ADO.NET Blog" };
using (var context = new BloggingContext())
{
// The next step implicitly attaches the entity
context.Entry(existingBlog).State = EntityState.Modified;
// Do some more work...
context.SaveChanges();
}
EF는 데이터베이스의 속성과 다른 속성을 알지 못하므로 모두 업데이트합니다.
상태를 Modified로 변경하면 엔티티의 모든 속성이 수정 된 것으로 표시되고 SaveChanges가 호출 될 때 모든 속성 값이 데이터베이스로 전송됩니다.
이를 방지하려면 전체 엔터티 상태를 설정하는 대신 수동으로 수정할 속성을 설정할 수 있습니다 .
using (var context = new BloggingContext())
{
var blog = context.Blogs.Find(1);
context.Entry(blog).Property(u => u.Name).IsModified = true;
// Use a string for the property name
context.Entry(blog).Property("Name").IsModified = true;
}
참조 URL : https://stackoverflow.com/questions/20451461/save-detached-entity-in-entity-framework-6
반응형
'programing' 카테고리의 다른 글
Python ImportError는 Ubuntu 12.04 업그레이드 이후 urandom을 가져올 수 없습니다. (0) | 2021.01.14 |
---|---|
runhaskell / ghci로 여전히 실행되는 라이브러리 + 실행 파일로 Haskell cabal 프로젝트를 만드는 방법은 무엇입니까? (0) | 2021.01.14 |
React : 키보드 이벤트 핸들러 모두 'Null' (0) | 2021.01.14 |
명시적인 getter 전용 인터페이스 구현에 private setter를 사용하는 것은 왜 불법입니까? (0) | 2021.01.14 |
한 Git 저장소에서 다른 저장소로 커밋을 복사하는 방법은 무엇입니까? (0) | 2021.01.14 |