بله همانطور که گفتم موقع ویرایش یک پست که قبلا برایش لینک دانلود ثبت شده، حتی اگر هیچ تغییری هم در لینکهای دانلود ندهیم، کوئری Insert صادر میشود.
این هم نمونه خروجی Sql تولید شده برای حالت فوق که توسط mini-profiler ایجاد شده:
و این هم کد متد UpdatePost:
public UpdatePostStatus UpdatePost(EditPostModel postModel)
{
Post selectedPost = _posts.Find(postModel.PostId);
int count = selectedPost.Labels.Count;
for (int i = 0; i < count; i++)
{
selectedPost.Labels.Remove(selectedPost.Labels.ElementAt(i));
count--;
}
selectedPost.Labels = postModel.Labels;
selectedPost.DownloadLinks = postModel.DownloadLinks;
selectedPost.Body = postModel.PostBody;
selectedPost.Book.Author = postModel.Book.Author;
selectedPost.Book.ISBN = postModel.Book.ISBN;
selectedPost.Book.Language = postModel.Book.Language;
selectedPost.Book.Name = postModel.Book.Name;
selectedPost.Book.Page = postModel.Book.Page;
selectedPost.Book.Year = postModel.Book.Year;
selectedPost.Book.Description = postModel.Book.Description;
selectedPost.Book.Publisher = postModel.Book.Publisher;
selectedPost.Book.Image.Description = postModel.BookImage.Description;
selectedPost.Book.Image.Path = postModel.BookImage.Path;
selectedPost.Book.Image.Title = postModel.BookImage.Title;
selectedPost.CommentStatus = postModel.PostCommentStatus;
selectedPost.Description = postModel.PostDescription;
selectedPost.Keyword = postModel.PostKeyword;
selectedPost.ModifiedDate = postModel.ModifiedDate;
selectedPost.Status = postModel.PostStatus;
selectedPost.Title = postModel.PostTitle;
return UpdatePostStatus.Successfull;
}