我经历的第一个XML文件,并写入这些记者(S)。正如我们所添加的物品进入_Data我们的datacontext我们可能会碰到需要增加一名记者,所以我们这样做:

newJourno = New journalist With {.name = strJournalist}
_Data.journalists.InsertOnSubmit(newJourno)
.articles_journalists.Add(New articles_journalist With {.id_journalist = newJourno.id,         .id_article = .id})

不过随后我们可能会遇到这种再次同记者,不返回任何我们这样做时:

Dim journo = _Data.journalists.Where(Function(s) s.name = strJournalist).SingleOrDefault

因此,使用上面的代码再次再次插入相同的记者。

在我们所有的插件都做了,我们做的SubmitChanges。在这一点上具有头部配合:

INSERT语句冲突以列外键约束“FK_articles_journalists_journalists”。冲突发生于数据库“嗒嗒”表“记者”,列“身份证”。该语句已终止。

这是通过SQL事件探查器,你可以看到它正试图添加一些记者不止一次生成的SQL看,这将失败,因为该名称必须是不同的。正试图与这些记者被插入的随后的记录被作为失败未更新的记者。

当然,如果我有记者的集合,一些添加到它,然后看看我的收藏,我应该看到所有这些,不只是原有的。我可以做的SubmitChanges掰过来,我猜,但似乎有点傻。

由于提前,

戴夫。

有帮助吗?

解决方案

如果你想两个孩子,父行添加到数据库中,你必须将实体,而不是Id列,该ID将被自动生成并将于后,才提交更改。

您必须做articles_journalist对象,然后将newJourno实体分配给此:

articles_journalist.journalist = newJourno;

其他提示

CMS是正确的大约需要来分配对象,而不是ID。

然而,这似乎并没有得到解决的的datacontext没有意识到,它已经有了新的东西加入到它,直到你的SubmitChanges问题。我只能推测这是由设计,因此我现在打电话的SubmitChanges为当代码插入我们在以后搜索的对象。

“的名字必须是不同的。”

这是一个严重的设计缺陷。个人名字永远是独一无二的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top