我将重建一个现有的中等规模的Web应用程序,用于供应链管理Web解决方案。核心围绕一些项目\站点组合记录,组织\用户管理,显示特定组织数据(具有2级网格的仪表板)以及钻取,其中包含一些复杂的项目交易计算和强大的网格以显示多个级别的总计、子总计等内容...
过去,我使用ASP.Net 2.0和ADO.Net开发了它,后端是SQL-Server。我应该将这个Web解决方案迁移到基于完整的ASP.Net v3.5的MVC架构,并集成其他部分,如Membership API、Validation-framework等...这将是一个完全的重新设计。性能和可扩展性(即处理数百万条记录,执行快速计算,快速响应时间等)是两个主要优先事项。此外,还需要考虑简单性、长期维护以及任何级别的定期升级。
我想知道以下两者之一是否可以成为满足我上述要求的强大的数据访问层(DAL):
L2S(LINQ to SQL)或EF(Entity Framework)。
过去,我使用ASP.Net 2.0和ADO.Net开发了它,后端是SQL-Server。我应该将这个Web解决方案迁移到基于完整的ASP.Net v3.5的MVC架构,并集成其他部分,如Membership API、Validation-framework等...这将是一个完全的重新设计。性能和可扩展性(即处理数百万条记录,执行快速计算,快速响应时间等)是两个主要优先事项。此外,还需要考虑简单性、长期维护以及任何级别的定期升级。
我想知道以下两者之一是否可以成为满足我上述要求的强大的数据访问层(DAL):
L2S(LINQ to SQL)或EF(Entity Framework)。
我一直在搜索,基于此想验证我的理解:
- L2S是否类似Win98——强大、稳定、简单而且性能优秀,
- EF是否类似WinXP——比win98更好,也有一定的稳定性但是有些许不同的性能和简单性层面上与L2S相比较。
我认为我们不会在开发中涉及“多个数据库”,SQL Server将继续使用。另外,我认为我们不需要实际将多个表映射到一个实体等... 一般来说,我们将把我们的DB表与实体(例如用户、组织等)进行一对一映射,在某些复杂情况下,例如仪表板从多个表中提取记录(最可能需要使用存储过程和/或DB视图)。钻取页面从单个表中提取数据,但有许多计算,因此我们计划使用存储过程,它将为我们提供格式化的表格(但这个表格可能看起来不像已经存在于DB中的表格)。
所以,这是一些棘手的映射,但除此之外,我们需要保持简单,考虑性能和可扩展性。哦!最后但并非最不重要的 - 我们有一个紧迫的截止日期,所以这是一种“快速开发”的方式。
简单、快速、可扩展且高效 - 这就是我们需要的!
提前感谢 - 请指导我。
附加链接: ORM-LINQ-Entity-Framework-Eric-Nelson 讨论 - LINQ to SQL vs. ADO.NET Entity Framework 简短 - ADO.NET Entity Framework When To Use It Vs Linq To SQL