是否有人对.SaveChanges()方法的使用有很好的了解?
尝试在数据上下文对象上使用.SaveChanges()方法时,我遇到各种问题。我正在从现有数据源中获取数据,创建适当的EntityFramework/DataService对象,用数据填充这些创建的对象,将这些对象添加到上下文中,然后通过调用.SaveChanges保存该数据。
我提出的场景(以及与之相关的问题)就这样……在每种情况下,我都有一个foreach循环,该循环从DataTable中的行获取数据并生成对象,并将它们附加到上下文中。他们去。 (注意:三个对象是通过SetLink调用附加的一个“成员”和两个“地址”)-基本上,这是一种转换工具,用于从一个数据存储中获取数据并将其按摩到Data Services公开的数据存储中。
像这样进行大量数据加载时,从客户端对象调用.SaveChanges()的首选方法是什么?我对.SaveChanges()的工作方式不了解吗?任何人都可以提供有关如何一次使用此功能以及通过数据服务保存数据的限制(如果有)的更多详细信息吗? .SaveChanges()方法调用周围是否有最佳实践? .SaveChanges()方法调用上是否有任何特别好的文档?
最佳答案
我没有使用EntityFramework的丰富经验(只是一些随机实验),您是否尝试过每n次调用.SaveChanges()?
我的意思是这样的:
int i = 0;
foreach (var item in collection)
{
// do something with your data
if ((i++ % 10) == 0)
context.SaveChanges();
}
context.SaveChanges();
我知道这很丑陋,但这是我想出的第一个可能的解决方案。
关于entity-framework - 在ADO.Net数据服务中使用.SaveChanges()方法的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/190066/