Hello World
Spiga

分类:.Net框架

LINQ to SQL异步查询

2008-03-01 01:51 by 老赵, 24150 visits
摘要:异步操作是提高Web应用程序吞吐量的重要手段,关于这方面的话题已经在前文《正确使用异步操作》中解释过了。对于大多数互联网应用来说,性能瓶颈数据库访问。换句话说,一个请求在数据库操作上所花的时间往往是最多的——并且占总时间的90%以上。因此,当Web应用程序的吞吐量因为数据库操作的阻塞而受到影响的话,我们可是尝试使用异步数据库操作来进行优化。那么我们又该如何使用LINQ to SQL进行异步查询呢? 阅读全文

正确使用异步操作

2008-02-24 22:03 by 老赵, 34345 visits
摘要:本想写一点有关LINQ to SQL异步调用的话题,但是在这之前我想还是先写一篇文章来阐述一下使用异步操作的一些原则,避免有些朋友误用导致程序性能反而降低。这篇文章会讨论一下在.NET中有关异步操作话题,从理论出发结合实际,以澄清概念及避免误用为目标,并且最后提出常见的异步操作场景和使用案例。这样我们就可以知道什么时候该使用异步操作,什么时候会得不偿失。 阅读全文

在LINQ to SQL中使用Translate方法以及修改查询用SQL

2008-02-19 03:02 by 老赵, 24321 visits
摘要:目前LINQ to SQL的资料不多——老赵的意思是,目前能找到的资料都难以摆脱“官方用法”的“阴影”。LINQ to SQL最权威的资料自然是MSDN,但是MSDN中的文档说明和实例总是显得“大开大阖”,依旧有清晰的“官方”烙印——这简直是一定的。不过从按照过往的经验,在某些时候如果不按照微软划定的道道来走,可能就会发现别样的风景。老赵在最近的项目中使用了LINQ to SQL作为数据层的基础,在LINQ to SQL开发方面积累了一定经验,也总结出了一些官方文档上并未提及的有用做法,特此和大家分享。 阅读全文

在Linq to Sql中管理并发更新时的冲突(3):使用记录的时间戳进行检测

2007-11-23 09:21 by 老赵, 4623 visits
摘要:在《在Linq to Sql中管理并发更新时的冲突(2):引发更新冲突》一文中,我们描述了Linq to Sql检测在更新时是否产生了冲突的基本方法:将该记录每个字段原来的值和更新时的值进行对比,如果稍有不同则意味着记录被修改过,因此产生了更新冲突。不过您是否有这样的感觉,这种方法实在累赘了一些?因此Linq to Sql提供了另外一种检测并发更新冲突的方式:使用记录的时间戳。这并不是Linq to Sql特有的功能,如果您了解其他的ORM框架的话,就会发现诸如Hibernate也提供了类似的机制——自然,在使用上不会像Linq to Sql那样方便。 阅读全文

是否会成为问题——Linq to Sql的执行可能无法复用查询计划

2007-11-21 08:43 by 老赵, 4164 visits
摘要:复用查询计划是Sql Server降低CPU开销,提高性能的一个重要手段。但是Linq to Sql可能无法复用查询计划,这是怎么回事儿呢? 阅读全文

在Linq to Sql中管理并发更新时的冲突(2):引发更新冲突

2007-11-20 19:30 by 老赵, 3080 visits
摘要:在上一讲中,我们提到了一些诸如“乐观并发控制”、“悲观并发控制”的概念,以及察看Linq to Sql自动生成sql语句的方法。从这篇文章起我们将继续来查看Linq to Sql在管理并发更新时是如何发现冲突问题的。 阅读全文

在Linq to Sql中管理并发更新时的冲突(1):预备知识

2007-10-30 23:49 by 老赵, 4766 visits
摘要:无论与目前的ORM框架相比有没有优势,Linq to Sql在语言和平台的级别上为我们提供了一种新的操作对象和数据的方式,在一定程度上为我们解决了Object != Data的问题。在实际应用中,对于数据库的操作往往有着天生的并发性,因此在更新数据时可能会产生冲突。有些时候,如果没有合理的解决冲突问题,轻则让用户摸不着头脑,重则让系统数据处于一种不一致的状态。Linq to Sql自然考虑到了这一点,本系列讨论的内容,就是在使用Linq to Sql时,如何管理并发更新时产生的冲突。  本文为这个系列的第一篇,将讨论一些预备知识,它们是进行后续研究的基础。 阅读全文
< Prev 1 2 3 4 5 6 7
使用Live Messenger联系我