如何在ASP.NET项目里面正确使用Linq to Sql

本文作者分享了自己使用LinqtoSql的经验,探讨了DataContext的处理方式,并提出了关于缓存机制的一些思考。作者强调了正确理解DataContext和实体类的重要性和它们在实际应用中的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老久不上来写技术类的东西了,偶尔回归一下吧。(其实,这篇文章8个月前写了个大半,后来一直没有时间去完善,再后来就因为各种原因给放下来了。)

非常抱歉,由于需要发表其他文章的缘故,我只能忍着不修正文中一小部分错误,以及增加一些有助免于误解的内容。这里特别说明一下,本文不是要讨论缓存机制的好坏,更不是要讨论如何缓存对象。而是说DAL/BLL上面对DataContext的处理。另外一个需要注意的地方,是修改了一个错误,原来大部分都写成IQueryable了,实际上应该是除了最后一个之外,都是IEnumerable。原因是什么需要大家想一下。此外,也需要大家注意的事,我所提出来的缓存,并不是直接利用Linq2Sql的代码来缓存,而是指是否便于缓存。这部分的内容,会在文章后面补充说明。

Linq to Sql 用的人也应该有些吧,我在cnblogs上面看老赵写的那几篇文章(请看08年9月左右的文章),感觉也很有深度,有不少启发。因此我也打算写一点我自己的实践经验,希望也能同样给大家一些有用的启发吧。

我首先想要问一下大家,Linq to Sql有哪些很特别的地方?这个问题的答案肯定五花八门,我说一下我看到的一些问题吧。

首先,Linq to Sql的基础之一是DataContext,而另外一个基础,则是通过映射产生的实体类,以及这些实体类的Table<>对象。这个不是废话嘛!我想很多人都应该知道这个最基本的知识,不过却不见得有多少人真正注意到,或者认真思考一下这里面的“机关”。不知道“机关”在哪里,那么就不可能写出合适的代码。比如说,在某个页面里面(N层结构没有给弄好的情况下),或者在某个业务逻辑里面(有N层结构),你的Linq to Sql的代码是否是长这样的?

Code
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值