2010-09-22 46 views
0

我们使用ADO.Net DataService(.Net Framework 4.0,Visual Studio 2010)。我们有选择,插入,更新和删除操作。ADO.Net DataService性能问题

  • 用于选择我们有像

学校上学= _context.School.Expand查询( “地址,ContactPerson,ContactPerson /详细信息......”)。如果(S =>取值.Name ==“xxx”)。SingleOrDefault();

  • 用于插入

    _context.AddToSchool(学校); _contextSaveChanges();

    address.SchoolCode = school.Code; ////地址与学校有关系

    _context.AddToAddress(address);

//现在我们没有任何级联插入操作。

  • 对于更新我们使用这样的

    //每一次更新时,我们正在创建的对象,我们都面临着类似的“上下文已经跟踪实体的问题”或“上下文没有跟踪“。这是最糟糕的实践:(

    _context =新的DataContext(......)

    AttachObject( “学校”,学校); _context.UpdateObject(学校); _context.SaveChanges() ;

    代码段,其用于连接所述对象,同时更新

    私人无效AttachObject(串entitySetName,对象实体) {

    。 210

    }

  • 删除

    //现在我们没有任何级联删除操作。

地址地址= _context.Address.where(A => A.Code == deleteAddress.Code).SingleOrDefault();

_context.DeleteObject(address); _context.SaveChanges();

即使在本地系统中也需要花费大量时间。我很害怕性能,这需要在单独的服务器上启动。请告诉我什么是使用“ADO”的最佳方法。净DataService的”

我需要答案没有下投票:)

编辑:我有5列的10列的范围内检查,分和4嵌套表连我自己都看到单列更新UI冻结5秒。

回答

0

我不排除查询,只是还没有。

  1. 什么是日数据大小?几百行,几百万或几亿?
  2. 索引和磁盘性能?
  3. 如果是远程服务器,连接怎么样?

现在查询

  1. 确保你没有扩展的重复数据。只扩展需要的部分。
  2. 检查你正在扩大其他数据类型,也许是二进制文件,有助于图片等

希望。

+0

其唯一的本地系统,它的配置太好,排在单个数字。它比ADO.Net多两倍。 – Mohanavel 2010-09-22 06:53:44