2011-05-27 69 views
4

如果我有一個一對多的兩個實體(即PostComment)之間的關係有我類定義爲:1對許多與子相關的實體沒有回參考

public class Post { 
    ... 
    IList<Comment> Comments { get; set; } 
} 

但是我的Comment子相關類沒有Post類型的屬性,因爲從不需要從評論發佈到發佈。評論始終與主帖​​子實例一起顯示。

然後我有一個存儲過程返回兩個結果集:與他們相關的帖子和​​評論。我定義我MapResultSet

MapResultSet[] sets = new MapResultSet[2]; 

sets[0] = new MapResultSet(typeof(Post), posts); 
sets[1] = new MapResultSet(typeof(Comment)); 

sets[0].AddRelation(sets[1], /* what goes here? */, "PostID", "Comments"); 

但是,這並不工作,因爲Comment不必其Post參考,因此我沒有什麼定義在上面代碼中的第二個參數。如果我提供string.Emptynull,如果方法參數無效,我會得到一個異常。

我應該如何定義這兩個實體之間的關係而不將Post屬性添加到Comment

回答

2

評論應該有「帖子ID」,如果沒有是不可能的定義後的註釋(例如在結果集中,我們有2個職位和7條評論)

所以,你應該要麼添加將屬性或PostId發佈到Comment類。

而且對於簡單的情況下,請參閱RelationAttribute,這個例子here 見的Test2(),這有助於手動關係準備避開,沒有必要寫:

sets[0].AddRelation(sets[1], "PostID", "PostID", "Comments"); 
+0

其實你是對的。我的代碼正在返回一個帶有評論的帖子。但多結果集不能意識到它。所以我想你應該接受答案。 :) – 2011-06-03 12:24:15

相關問題