使用实体框架将数据插入相关表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用实体框架将数据插入相关表中相关的知识,希望对你有一定的参考价值。

我有两个相关的表ProcessBatches和Transfers enter image description here

首先,我必须在ProcessBatches中插入记录,然后插入Transfers。我正在使用以下代码:

transferData.ProcessBatch = Context.ProcessBatches.Add(processBatchData);
Context.Transfers.Add(transferData);
Context.SaveChanges();

我的问题:在最糟糕的情况下,是否会在ProcessBatches中插入记录而在Transfers中不插入记录?

我有另一个想法:首先,在ProcessBatches中插入记录,然后询问id,最后插入Transfers(如果id正确生成)

注意:两个表的id都是自动生成的。

答案

我认为你需要这样做:

transferData.ProcessBatch = processBatchData;
Context.Transfers.Add(transferData);
Context.ProcessBatches.Add(processBatchData);
Context.SaveChanges();

我相信Add是一个Void方法,所以它不会返回任何东西。在您的代码中,您基本上将transferData.ProcessBatch设置为null。

以上是关于使用实体框架将数据插入相关表中的主要内容,如果未能解决你的问题,请参考以下文章

实体与实体之间的联系

需要使用实体框架将大量记录插入数据库

使用AFTER INSERT触发器将实体框架插入表中

如何使用实体框架将相关实体添加到数据库

实体框架:多对多插入重复

使用实体框架将行插入到具有复合键的表中