小编Har*_*mut的帖子

与ObjectContext相比,为什么在EF 4.1中插入实体的速度如此之慢?

基本上,我在一个事务中插入35000个对象:

using(var uow = new MyContext()){
  for(int i = 1; i < 35000; i++) {
     var o = new MyObject()...;
     uow.MySet.Add(o);
  }
  uow.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

这需要永远!如果我使用底层ObjectContext(通过使用IObjectAdapter),它仍然很慢但需要大约20秒.它似乎DbSet<>正在进行一些线性搜索,这需要花费大量时间......

其他人看到这个问题?

c# entity-framework entity-framework-4.1

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

强大的自托管服务器的最佳选择:WCF与ASP.NET Web Api

我们目前有一个.NET 4应用程序,它由在后台运行的Windows服务和本地或远程客户端组成(通常只有1-3个).

客户端有一个WPF GUI,需要来自Windows服务的一些数据.因此,我们将WCF与NamedPipe绑定用于本地客户端,并将NetTcp绑定用于远程客户端.这有效,但我们经常遇到无法访问的端点(通道出现故障或未找到等)的问题.我们已经尝试重建故障连接,但它似乎非常脆弱......

现在进入Web Api:看起来基于HTTP的堆栈可能更强大(没有通道,没有端点,也可以在Windows服务中自托管).通道损坏似乎没有问题,因为每个请求都是单独处理的.因此,如果某些内容失败,您只需重复该请求.(我们有其他应用程序的ASP.NET MVC经验,所以这对我们来说并不陌生).

现在我们在想什么可能是我们最好的选择.是否更好地"强化"我们现有的WCF服务(一个具有大约15个操作的服务接口)或将接口移动到Web Api并将其作为HTTP请求(使用JSON数据)运行?表演不是我们的主要问题......

有任何想法吗?哈特穆特

asp.net-mvc wcf asp.net-mvc-3 asp.net-web-api

5
推荐指数
1
解决办法
868
查看次数