4

Post如果我在两个实体(即和)之间有一对多的关系,Comment并且我的类定义为:

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

但是我的Comment子相关类没有 type 的属性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.Empty或者null如果方法参数无效,我会得到一个异常。

Post我应该如何在不添加属性的情况下定义这两个实体之间的关系Comment

4

1 回答 1

2

评论应该有“PostId”,如果没有,就不可能为评论定义帖子(例如在结果集中我们有 2 个帖子和 7 个评论)

因此,您应该将 Post 属性或 PostId 添加到 Comment 类。

同样对于简单的情况,请参见 RelationAttribute,示例在这里 See Test2(),这有助于避免手动准备关系,无需编写:

sets[0].AddRelation(sets[1], "PostID", "PostID", "Comments");
于 2011-05-31T13:05:02.830 回答