我真的希望你能幫助我,因爲我正要將我的MVC/Entity Framework項目放在bin中並啓動一個MVC/Linq項目。ado.net實體框架大規模混淆
我正在建立一個論壇作爲一個項目來了解MVC/Entity,並且我有4個表都是相關的。
- Forum_Category,
- 論壇,
- 主題,
- 回覆
所以有一個1對多的Forum_Category和論壇之間CATEGORY_ID。
1 to many of forum_ID between forum and topic。
以及在Topic和Reply之間的Topic_ID上的1到多個。
我明白,你可以使用
Dim F = (From forum in _DataContext.Forum.Include("Forum_Category") _
Where forum.Forum_ID = 1 _
Select forum).First
但如果我想爲所有的回信中的數據得到一個主題,然後加載了主題的論壇,然後類別加載相關數據?
我設法用代碼來獲取稍微有:
Dim FT = (From F In _dataContext.Topic.Include("Forum") _
Where F.TOPIC_STATUS = ForumSettings.FORUM_STATUS.Active _
Select F).First()
Dim TRs = (From F In _dataContext.Topic_Reply _
Where F.Topic.TOPIC_ID = TopicID _
Select F).ToList()
For Each TR As Topic_Reply In TRs
FT.Topic_Reply.Add(TR)
Next
Return FT
但是當我嘗試添加一個新的回覆,我得到了錯誤: 具有相同鍵的對象已經存在於ObjectStateManager。 ObjectStateManager不能使用同一個鍵跟蹤多個對象。
我現在完全失去了。