저는 NHibernate에서 왔고 Entity Framework에서 링크 된 엔티티를 처리하는 것에 대해 매우 혼란스러워합니다.엔티티 프레임 워크는 동일한 링크 된 엔티티를 반복해서 저장합니다.
나는 Post라는 모델이 있습니다. 각 게시물에는 어느 계정이 게시물을 작성했는지 알려주는 linke 엔티티 계정이 있습니다.() 쿠키를 기반으로 데이터베이스에서 현재 사용자의 계정을지고 수행
var post = new Post();
post.Account = GetAccount();
db.Posts.Add(post);
db.SaveChanges();
무엇 GetAccount : 나는 게시물을 작성할 때
, 나는 다음과 같은 코드를 사용합니다. 또한 현재 요청 (asp.net)에 대해이를 캐시하여 여러 번 가져올 필요가 없습니다.
이제는 저장 한 각 게시물에 대해 새 계정 (동일하지만 새 ID 포함)이 삽입됩니다. NHibernate에 충분했을 계정에 대해 Equals 및 GetHashCode를 구현했지만 Entity Framework에는 적합하지 않습니까?
무엇이 누락 되었습니까?
GetAccount는 게시물을 저장하는 것과 동일한 dbContext를 사용합니까? –
@feanz 아, 맞아. 그들은하지 않았으며 지금은 그들이 할 때 작동합니다. 답변을 게시하면 나는 그것을 표시 할 것입니다. –