gpt4 book ai didi

entity-relationship - 一对多,在子相关实体中没有反向引用

转载 作者:行者123 更新时间:2023-12-04 08:09:42 27 4
gpt4 key购买 nike

如果我在两个实体之间有一对多关系(即 PostComment )并且我的大师类定义为:

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 的情况下定义这两个实体之间的关系属性(property)到Comment ?

最佳答案

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

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

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

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

关于entity-relationship - 一对多,在子相关实体中没有反向引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149588/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com