【发布时间】:2015-01-05 08:38:08
【问题描述】:
我正在与VS2013、.NET4.5、EF6 和SQL 2008 合作。
我注意到我们团队的一位开发人员更改了所有更新语句
if (!journey.WillAnswer.Any())
{
db.WillAnswer.Add(willAnswer);
}
else
{
db.WillAnswer.Attach(willAnswer);
db.Entry(willAnswer).State = EntityState.Modified;
}
db.SaveChanges();
到
if (!journey.WillAnswer.Any())
{
db.WillAnswer.Add(willAnswer);
}
else
{
var will = db.WillAnswer.Single(x => x.Id == willAnswer.Id);
db.Detach(will);
db.WillAnswer.Attach(willAnswer);
db.Entry(willAnswer).State = EntityState.Modified;
}
db.SaveChanges();
需要分离吗?这是一种好的做法吗?
【问题讨论】:
-
你有没有问他为什么这么做?
标签: c# entity-framework sql-server-2008-r2 .net-4.5 entity-framework-6