2009-11-24 61 views
0

我有一个中等规模的Web应用程序与基于SQL Server的后端数据库。合并讨论:LinqDataSource或ObjectDataSource?

我的DB概述 - Generic suggestions for SQL 2005 Framework\Design and Implementation

我的应用程序框架概述 - L2S (LINQ to SQL) or EF (Entity Framework)

所以,现在,我们是在一个快速发展轨道。我们已经“冻结”了迁移到MVC架构,并且为了让它更简单/更快,我们选择了LINQ-to-SQL而不是实体框架(同时考虑到几个月内会有更好的实体框架v2.0出现) 。我希望这是对的。

现在,我重新审视旧代码 - 在过去 我们使用ODS(ObjectDataSource控件) 在所有的地方的搜索& CRUD 操作。那么, 替换为新的LinqDataSource (LDS)是个好主意。

我只是找到了一个计算器有用的帖子: SqlDataSource vs ObjectDataSource

我已经提到很多LDS教程。一个伟大的 '系列' 我foun在CodeProject:

Part1: http://www.codeproject.com/KB/aspnet/LinqDataSourcebasics.aspx 
Part2: http://www.codeproject.com/KB/aspnet/LinqDataSourcebasics1.aspx 
Part3: http://www.codeproject.com/KB/aspnet/LinqDataSource2.aspx 
Part4: http://www.codeproject.com/KB/aspnet/LinqDataSource3.aspx 

我还参观了像几个 '比较' 的讨论 - (好一个)http://www.eggheadcafe.com/aspnet/how-to/146339/linqdatasource-vs-objectd.aspx

对LINQ著名ScouttGU的5个部分组成的系列 - http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx

我不能再深入了 - 我需要知道专家们对此有何评论。 我的倾向是为了使用ODS,因为它提供了更好的抽象(不像(几乎)2层LDS)。而且对于未来的MVC迁移,这个寒暄帮助更好地构建应用程序。

其他参考: http://www.dotnetspider.com/forum/165941-What-Difference-between-ObjectDataSource.aspx

+0

听起来像是你的架构决定 - 但它如果你关心的性能和可扩展性...去冒险的方式对本地异步调用支持是非常重要的,因为是命令批处理和多个结果集,这是不但由LINQ to SQL支持。 – RickNZ 2009-11-25 13:47:51

+0

嗯,我很欣赏的关注\关于“批量语句执行”和“多结果集”之分。我不知道“本地异步调用”。 我已经提出了一个基本的架构,但我没有看到什么“风险”,因为我能够通过使用视图来处理多ResultSet的场景,有一个为批量更新一v.less概率。 – 2009-11-25 15:11:34

回答

0

希望这会成为人们寻求在两者之间选择一个统一的[R & d。对我来说,它已经很长时间了,现在我正在使用MVC3和SQL Server作为后端。所以我有一个L2S(LINQ to SQL)层,它可以帮助我获得完美的“OR”映射,并允许我以对象级别而不是其他任何形式操作事物。 (它像在Win XP & Vista(EF)之间进行选择)我留在L2S中,它的工作就像一个魅力!