龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

讲解ASP.NET中LINQ to SQL 实现数据访问通用基类(4)

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
天下有没有免费的午餐... 当前的加载(Load)操作中,没有任何显著的性能损失,但是当你调用Save or Delete方法时候,幕后用到一点反射(reflection)操作。

天下有没有免费的午餐...

当前的加载(Load)操作中,没有任何显著的性能损失,但是当你调用Save or Delete方法时候,幕后用到一点反射(reflection)操作。

对于绝大多数的数据访问层(DAL)需求,在你的应用程序当中,这可能并没有显著的的影响。 但是,如果您正在执行大量的更新/插入/删除操作,特别是大量的包含嵌套的实体,那么您可能需要自己写代码替代Repository的Save / Delete方法。.所有Save / Delete方法都是虚方法(virtual),因此您可以轻易重写(override)他们。

另外请注意, RepositoryBase不支循环依赖(circular dependencies)的递递归save 或者 delete操作。

结论

本文将和包括源代码提供了一个简单,方便和可扩展的方式实现您的多层LINQ数据层CRUD(译者注:增,删,改,查)的方法。.它利用断开模式,并支持保存(saving)和加载(loading)嵌套子实体(child entities).在Save 和Delete(译者注:原文为Load,可能原作者笔误)操作时候有一个小小的性能损失,但在性能至关重要的应用中,您可以重写这些Repositories类的Save和Delete。

对于一切,你安心上路,只需几行代码。

源代码

更新的源代码,本文可以找到这里

反馈!

感谢您阅读这篇文章。如果您有任何提示,问题或建议,请让我知道。我在日常工作中使用这个类,因此总是很感兴趣就如何进一步改进。


精彩图集

赞助商链接