Linq to sql Linq2Sql最佳实践
我最近正在迁移到Linq2Sql,我未来的所有项目都将使用Linq2Sql。话虽如此,我对如何在应用程序设计中正确插入Linq2Sql进行了大量研究Linq to sql Linq2Sql最佳实践,linq-to-sql,Linq To Sql,我最近正在迁移到Linq2Sql,我未来的所有项目都将使用Linq2Sql。话虽如此,我对如何在应用程序设计中正确插入Linq2Sql进行了大量研究 在哪一层放什么 如何设计存储库和业务层服务 我应该在交互层的Linq2Sql实体上使用DTO吗 我应该注意什么事情 你遇到了什么问题 我并没有发现任何坚如磐石的材料真正谈论一件事,每个人都有自己的观点。我期待着您提出关于如何在项目中集成/使用Linq2Sql的想法。我的首要任务是维护[它应该是可维护的,并且当多人在同一个项目上工作时]和可伸缩性
- 在哪一层放什么李>
- 如何设计存储库和业务层服务
- 我应该在交互层的Linq2Sql实体上使用DTO吗李>
- 我应该注意什么事情
- 你遇到了什么问题
谢谢。在过去两年半的生产应用程序中,我一直在使用linq to entities,我可以说这是一次非常好的体验。。。但这并不意味着你应该和Linq一起做每件事 我想给你一些问题的答案 我想你应该先问你想创建什么样的应用程序;一旦场景清楚了,您将对要对数据库(或存储库)执行的事务或查询的数量有一个奇怪的想法 Linq在抽象数据访问、上下文和实体处理方面可能非常有用,但一切都是有代价的。创建对象需要一定的成本,您确实需要考虑这一点 如果您的应用程序具有“不太重”的数据访问功能,Linq将是为您的应用程序节省时间的完美工具 如果您的应用程序完全基于数据提取或处理,Linq也会很好 如果您的应用程序正在处理巨大的数据块(请检查您的应用程序),您将需要执行其他操作,以避免创建一堆可能无用的对象 这意味着什么?您需要知道智能数据访问意味着什么。。。这就是让SQL为您工作(在SQL的情况下);如果要进行大量的关节、交叉信息和其他工作,请创建存储过程,为您创建数据结果,然后使用Linq或SqlCommand或SqlDataAdapters等获取数据结果 在哪一层放置什么? 由于Linq为您提供了数据访问抽象,您几乎可以将代码放在业务逻辑需要的地方。关于如何构造代码,有很多好的实践;Linq(与任何其他实体框架或数据访问库一样)将适合这个位置。 尽可能避免在控件中直接使用linq表达式(asp.net中有许多带有linq数据源的控件),而是使用服务类包装“查询”,该类可以由代码或控件实例化为对象数据源 我找到了什么? 在大型应用程序或项目中,纯Linq并不总是可行的(因此,在Linq中会有很多东西,在以前更简单的解决方案中也会有一些东西可以访问您的存储库),但它可以帮助您节省时间。 如果您想提供高质量的应用程序,实现存储过程是必须的 希望这一评论能有所帮助。
干杯。在过去两年半的生产应用程序中,我一直在使用linq to entities,我可以说这是一次非常好的体验。。。但这并不意味着你应该和Linq一起做每件事 我想给你一些问题的答案 我想你应该先问你想创建什么样的应用程序;一旦场景清楚了,您将对要对数据库(或存储库)执行的事务或查询的数量有一个奇怪的想法 Linq在抽象数据访问、上下文和实体处理方面可能非常有用,但一切都是有代价的。创建对象需要一定的成本,您确实需要考虑这一点 如果您的应用程序具有“不太重”的数据访问功能,Linq将是为您的应用程序节省时间的完美工具 如果您的应用程序完全基于数据提取或处理,Linq也会很好 如果您的应用程序正在处理巨大的数据块(请检查您的应用程序),您将需要执行其他操作,以避免创建一堆可能无用的对象 这意味着什么?您需要知道智能数据访问意味着什么。。。这就是让SQL为您工作(在SQL的情况下);如果要进行大量的关节、交叉信息和其他工作,请创建存储过程,为您创建数据结果,然后使用Linq或SqlCommand或SqlDataAdapters等获取数据结果 在哪一层放置什么? 由于Linq为您提供了数据访问抽象,您几乎可以将代码放在业务逻辑需要的地方。关于如何构造代码,有很多好的实践;Linq(与任何其他实体框架或数据访问库一样)将适合这个位置。 尽可能避免在控件中直接使用linq表达式(asp.net中有许多带有linq数据源的控件),而是使用服务类包装“查询”,该类可以由代码或控件实例化为对象数据源 我找到了什么? 在大型应用程序或项目中,纯Linq并不总是可行的(因此,在Linq中会有很多东西,在以前更简单的解决方案中也会有一些东西可以访问您的存储库),但它可以帮助您节省时间。 如果您想提供高质量的应用程序,实现存储过程是必须的 希望这一评论能有所帮助。
干杯。顺便说一句,如果您想要在.net framework中进行扩展,那么应该使用Linq到实体而不是Linq到SQL。这取决于您所说的“sca”是什么意思