我正在从我的数据库中加载一些对象:
using (myEntities ctx = new myEntities())
{
ctx.Database.Connection.ConnectionString = ConnStr;
List<myEntity> entities = ctx.myEntities.ToList();
}
如果稍后我想编辑实体并更新数据库,我的代码是:
public void Update(myEntity entity)
{
using (myEntities ctx = new myEntities())
{
ctx.Database.Connection.ConnectionString = ConnStr;
ctx.Entry(entity).State = System.Data.EntityState.Modified;
ctx.SaveChanges();
}
}
我注意到时间上有很大的增加 ctx.Entry(entity).State = System.Data.EntityState.Modified; 如果实体的总数是5000,则行 如果原始列表中只有一个,则为100毫秒。我不明白为什么原始列表中的实体数量会降低性能,因为已更新的实体已断开连接。
答案 0 :(得分:-1)
有很多导航属性我将它们设置为null并且它很快就能运行。