단순히 엔터티를로드하고 속성을 수정 한 다음 다시 데이터베이스에 저장하려고합니다. 필요하며 나는 Find()
을 수행 할 때 분명히로드되지 않습니다 뉴스 레터 개체의 일부 속성이 있기 때문에Entity Framework에서 엔터티의 속성을 수정하면 유효성 검사 오류가 발생합니다.
var db = new NewsletterContext();
var newsletter = db.Newsletters.Find(x => x.ID==newsletterID);
newsletter.SomeProperty = 5;
db.SaveChanges();
이 유효성 검사 오류가 발생합니다.
은 내가 Where()
다음 각 필수 속성에 대한 Include()
를 사용하여이 문제를 해결 할 수 있습니다
var db = new NewsletterContext();
var newsletter = db.Newsletters.Include(x => x.RequiredProp1)
.Include(x => x.RequiredProp2).Include(x => x.RequiredProp3)
.Where(x => x.ID==newsletterID)
.FirstOrDefault();
db.SaveChanges();
이것은 매우 우아한 해결책이 아니라 내가이 Newsletter
객체에 더 필요한 속성을 추가 할 경우 중단됩니다.
더 좋은 솔루션이 있습니까?
예, 미안합니다. RequiredProp1 등은 실제로 관련 엔티티입니다. 뉴스 레터 엔티티 자체가 잘로드되고 모든 특성을 읽을 수 있지만 다시 저장하면 오류가 발생합니다. – Judo
MVC 3 앱에서 .NET 4.0을 사용하는 EF 4.1 코드. – Judo