我有我寫一個簡單的Web應用程序,爲什麼我得到即時困惑這個屬性「ID」是對象的關鍵信息的一部分,不能被修改
屬性「ID」是的一部分該對象的關鍵信息無法修改。
當我不更新'Id'?
好的,所以這就是我想要做的。
我有2個表主題和郵電 -
- 用戶創建一個新的話題,應該在數據庫
- 上添加主題記錄獲取主題ID,並設置標識,以郵政的TopicId
- 獲得該職位的ID,並將其設置爲主題的LastPostId
我重新更新的帖子所以每當我需要顯示的話題 我不需要牛逼所做的最後一個職位o按照該主題中的所有帖子排序「。 應該有更好的方式來做到這一點..
當我調試我看到 主題類別ID被設置爲主題ID 我並不在我的更新代碼有。
//
// insert new topic to database
Topic topic = new Topic();
topic.CategoryId = int.Parse(RouteData.Values["id"].ToString());
topic.Title = postModel.Title;
topicRepo.Add(topic);
topicRepo.Save();
//
// insert post to database
PostRepository postRepo = new PostRepository();
Post post = new Post();
post.TopicId = topic.Id;
post.Body = postModel.Body;
string strUserId = UserAccount.FormatUserName(User.Identity.Name);
post.CreatedByUser = strUserId;
post.CreationDate = DateTime.Now;
postRepo.Add(post);
postRepo.Save();
// ***********************
// update topic last post
// ***********************
Topic updateTopic = topicRepo.GetTopic(topic.Id);
updateTopic.LastPostId = post.Id;
TryUpdateModel(updateTopic);
if (ModelState.IsValid)
topicRepo.Save();
謝謝!
異常在哪裏發生?我猜它是在postRepo.Save()或topicRepo.Save()中。我們可能需要查看更多代碼。 – 2011-04-28 14:40:07
它發生在TryUpdateModel(updateTopic)中。我看到EF將Id(14)設置爲8(categoryId),這很奇怪。 – 2011-04-28 14:58:23
你可以發佈postModel和Topic類嗎? – 2011-04-28 15:08:37