1

急切地加载实体并在单独的上下文中重新附加它之后,我遇到了非常严重的性能问题。

下面的例子。当公司第一次被提取时,员工们急切地加载。有1000名员工。

然后在第二个上下文中附加公司需要几秒钟。

Company company;

using(var context = new MyEntities())
{
    company = context
        .Companies
        .Include(x => x.Employees)
        .Single(x => x.CompanyId = someCompanyId);
}

// Stuff happens here

var newEmployee = CreateNewEmployee();

using(var context = new MyEntities())
{
    context.Configuration.AutoDetectChangesEnabled = false;
    context.Companies.Attach(company);  // <<-- Extremely slow
    company.Employees.Add(newEmployee);
    context.SaveChanges();
}

我将如何分离员工名单?

编辑:加载的员工不会有任何变化(新增的除外)

4

1 回答 1

0

关闭 AutoDetectChanges

context.Configuration.AutoDetectChangesEnabled = false;
于 2013-09-17T06:50:36.133 回答