相关疑难解决方法(0)

实体框架中最快的插入方式

我正在寻找插入Entity Framework的最快方法.

我问这个是因为你有一个活跃的TransactionScope并且插入很大(4000+).它可能持续超过10分钟(事务的默认超时),这将导致事务不完整.

c# sql entity-framework

640
推荐指数
17
解决办法
38万
查看次数

实体框架太慢了.我有什么选择?

我遵循了"不要过早优化"的口头禅并使用Entity Framework编写了我的WCF服务.

但是,我描述了性能和实体框架太慢了.(我的应用程序在大约1.2秒内处理2条消息,其中我正在重写的(传统)应用程序同时执行5-6条消息.(旧应用程序调用sprocs进行数据库访问.)

我的分析指向实体框架占用每条消息的大部分时间.

那么,我的选择是什么?

  • 那里有更好的ORM吗?
    (只支持正常读取和写入对象的东西,并且它很快...)

  • 有没有办法让实体框架更快?
    (注意:当我说速度更快时,我的意思是从长远来看,而不是第一次调用.(第一次调用很慢(消息为15秒),但这不是问题.我只需要它快速休息的消息.)

  • 一些神秘的第三选项,将帮助我提高我的服务速度.

注意:我的大多数数据库交互都是创建和更新.我做的很少选择和删除.

.net performance orm entity-framework

87
推荐指数
5
解决办法
11万
查看次数

在Entity Framework 4.0中批处理DB命令

我目前的项目需要与外部系统进行日常同步.同步基于复杂的导入文件结构,该结构使用广泛的业务逻辑进行解析和处理.由于业务逻辑,我们决定在.NET代码中实现这一点,并重用现有的BL组件,而不是在存储过程或集成服务中编写相同的逻辑.

BL层位于EF 4.0数据访问层的顶部.当前实现过程导入批处理,将所有更改填入ObjectContext并在事务中执行SaveChanges.当我检查SQL分析器时,我看到EF将每个实体更改作为单个SQL命令执行(具有自己的往返DB的往返).此外,看起来这些命令是完全顺序执行的.所以我有多达100.000往返数据库进行初始导入,以及10.000 - 50.000往返数据库进行日常同步.

是否可以通过EF本身或某些提供商/扩展程序以某种方式批量插入/更新/删除命令?

.net entity-framework batch-processing entity-framework-4

15
推荐指数
1
解决办法
6104
查看次数

提高集群索引GUID主键的性能

我有一个包含大量行(10K +)的表,主键是GUID.主键是群集的.此表的查询性能非常低.请提供建议,以提高效率.

sql performance guid primary-key clustered-index

9
推荐指数
3
解决办法
2万
查看次数