【发布时间】:2012-03-28 16:51:50
【问题描述】:
我使用 EF 4.1 插入大量数据,一次包装在一个事务中(比如 200 万行以上)。现在我想添加 UPDATE 逻辑。请记住,鉴于数据量,更改跟踪被禁用。在我的脑海中,我会做这样的事情:
// Obviously simplified code...
public void AddOrUpdate(Foo foo)
{
if(!db.Foos.Any(x => someEqualityTest(foo)))
{
db.Foos.Add(foo);
}
else
{
var f = db.Foos.First(x => someEqualityTest(foo));
f = foo;
}
db.SaveChanges();
}
关于如何改进这方面的任何想法?
【问题讨论】:
-
您能否详细说明如何检查 Foo 的两个实例是否相等?是简单的ID比较吗?
-
可能,我只是想概括具体细节,并专注于解决方案的更大逻辑方面
标签: c# asp.net .net entity-framework entity-framework-4.1