使用实体框架处理数据库的多个事务的最佳方法

时间:2011-11-27 00:33:30

标签: asp.net-mvc-3 entity-framework c#-4.0 entity-framework-4

真的有点建议,我正在构建一个MVC应用程序,它接收来自多个来源的产品的提要。这可能会达到数百万,尽管我最好建议客户将他的所有信息分成更小的块,我知道他们可能会尝试一次性地做一千次。

现在主要的问题是我不想遍历每个xml记录并进行插入。 我宁愿做的是将一个堆栈从插入中排出,然后在一个大型事务中将它们拖入数据库。非常类似于整个表的数据库SQL导入。

这可能吗?如果是这样,他们怎么称呼它?

另外,如果我确实想要一次又一次地重新插入重复的产品,当没有任何改变时,最好的做法是什么。我可以循环一个已经获取的数据集吗?

我不确定这里最好做什么,所以问一下这个人,在这样的场景中有什么共识。

感谢

1 个答案:

答案 0 :(得分:1)

使用实体框架,您将为每个插入的记录插入一个数据库插入,不会有批量插入(如果这是您要查找的内容)。

但是要将其包含在事务中,除了将项目添加到上下文类之外,您无需执行任何操作。

http://msdn.microsoft.com/en-us/library/bb336792.aspx

当您调用SaveChanges时,这将自动进入交易。您需要做的就是确保使用单个上下文类和.Add(yourObject)到上下文。

所以只需等待调用SaveChanges,直到所有对象都被添加到上下文中。