0

我有 3 个表:帖子、标签和 PostTags。PostTags 表是 Posts 和 Tags 之间的交叉表,用于解释绑定到帖子的标签(此关系在 MS SQL 数据库中设置)。

问题是 PostTags 在Update Model From Database的 Add 选项卡中不可见?添加帖子和标签表时没有添加它?但是,如果我切换到刷新选项卡,我会看到 PostTags 表吗?

Model Browser > MainModel > Entity Types 中也没有 PostTag 表?

我可以看到直接从代码中的 Posts 创建了对 Tag 表的引用,但是在尝试此操作时: Posts.Tags.Add 它需要一个 Tags 实体而不是 PostTags 实体?如果我无论如何运行它,它会抱怨标签中的列不能设置为空。我不想在 Tags 表中添加任何内容,只在 PostTags 表中添加任何内容?

我究竟做错了什么?

4

1 回答 1

0

这是正常功能。

如果您有一个表(PostTags)是两个其他表之间的链接,那么它将在模型中显示为帖子和标签之间的多对多关系。

如果要查看连接表,请在 PostTags 表中添加一个额外字段。

如果您打开模型并查看 xml 源代码,您可以看到它是如何工作的。

编辑

如果你有这样的一行:

myPost.AddTag(myTag);

这将帖子和标签连接起来。当您调用 SaveChanges 时,EF 将在 PostTags 表中添加一个条目。

于 2013-03-17T17:44:27.737 回答