asp.net – 建筑设计DAL层
我正在研究中型Web应用程序的架构和对于我的DAL图层,我有3个选项
1)传统的基于存储过程的架构(使用Codesmith的NTiers模板) 2)LINQ to SQL(或代码的PLINQO模板) 3)LINQ To Entity 从上面LINQ到Entity是遥不可及的,因为我们需要非常快速地启动应用程序,并且我们没有相同的技能组,并且团队从未使用过任何OR / M工具,它们将是陡峭的学习曲线(这是我读到的一些地方) 我更喜欢继续使用LINQ to SQL(但唯一担心的是微软不会支持或进一步增强LINQ to SQL),从我的观点来看,如果微软不打算进一步增强它我没有任何问题,无论如何在我的项目中我需要的功能就足够了. 现在我的问题是我应该使用linq sql还是应该坚持传统架构? 或者其他任何选择都是…… 编辑:我将使用SQL Server作为数据库,它不需要与任何其他数据库进行交互 设计DAL层的最重要目标之一是为将来的数据库表更改提供更快的开发和可维护性,因为将来可能会增加或减少字段. 此外,如果你觉得任何ORM工具真的很好,并且没有陡峭的学习曲线,那么我们也可以使用 请提供建议 解决方法
当您在中型项目中工作时,我建议您使用LINQ-TO-SQL,因为这些优点
使用LINQ to SQL的优点: ?没有像SQL查询中那样的神奇字符串 ?在大多数解决方案中,性能最有可能不会成为问题.预优化是一种反模式.如果您稍后看到应用程序的某些区域变慢,您可以分析这些部分,在某些情况下甚至可以使用存储过程或ADO.NET交换一些linq查询. ?在我看来,对Linq2Sql进行调试比存储过程和ADO.NET都要容易得多.我建议您查看Linq2Sql Debug Visualizer,它可以让您查看查询,甚至触发执行以在调试时查看结果. ?Linq2Sql可以看作是另一层,但它是一个纯粹的数据访问层.存储过程也是另一层代码,我已经看到很多情况,其中部分业务逻辑已经实现到存储过程中.在我看来,情况要糟糕得多,因为您将业务层拆分为两个位置,开发人员更难以清楚地了解业务领域. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – MVC3生成包含端口号的URL,如何阻止它
- asp.net – IIS URL重写:强制规范主机名和HTTP到HTTPS重定
- asp.net-mvc – ASP.NET MVC:添加将DisplayName合并到自定
- 如何在OWIN asp.net Web API启动时获取根URL
- asp.net – GridView BoundField打破长字符串
- ASP.NET WebApi 基于OAuth2.0实现Token签名认证
- asp.net-mvc – 在ASP.NET会话中存储任何内容导致500ms延迟
- vs2008试用期到期解决办法
- 为什么Request.IsAjaxRequest()在ASP.NET MVC 3中不起作用?
- asp.net-mvc-4 – 在Azure中部署时,在EF迁移中使用Update-D
- asp.net-mvc-3 – 在ASP.NET MVC3中的自定义授权
- ASP.NET Core Razor视图中的递归
- asp.net-mvc – 为什么Visual Studio不会在发布中
- asp.net-mvc – 使用ASP.NET MVC的IIS应用程序请
- asp.net-mvc-3 – ASP.NET MVC 3未找到视图“错误
- asp.net – 带有nginx或apache的Mono 2.11
- asp.net – 是否可以完全在代码中配置ELMAH?
- asp.net-mvc – ASP.Net MVC有一个Action渲染另一
- asp.net-mvc – Html.BeginForm的默认区域是否始
- 将ASP.NET编译为64位