实体框架5 Entity.Entry在断开连接的实体上运行缓慢

时间:2014-01-27 12:30:20

标签: c# entity-framework

我正在从我的数据库中加载一些对象:

     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毫秒。我不明白为什么原始列表中的实体数量会降低性能,因为已更新的实体已断开连接。

1 个答案:

答案 0 :(得分:-1)

有很多导航属性我将它们设置为null并且它很快就能运行。