sql-server – Entity Framework 4与LINQ to SQL,适用于使用SQL Server的中小型应用程序

前端之家收集整理的这篇文章主要介绍了sql-server – Entity Framework 4与LINQ to SQL,适用于使用SQL Server的中小型应用程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
4月份,当VS2010推出时,我已经看到有关L2S vs EF4的堆栈溢出的讨论,即:

Dump Linq-To-Sql now that Entity Framework 4.0 has been released?

Is Entity Framework worth moving to for a new small app?

现在,6个月以后,大概人们与EF4有更多的互动,所以我很好奇新鲜的意见,特别是当考虑只用sql Server工作的时候.

我已经使用LINQ to sql了很多,只是打了一点EF4.我不会介意跳入和学习更多的EF4,我不相信这是值得的额外的复杂性,如果我的应用程序只是要谈sql Server.

所以,如果你有两个经验,而你今天要启动一个新的中小型应用程序,使用sql Server后端,你会选择哪一个?

当然,为什么…

解决方法

这取决于… :)

如果您不需要EF添加任何额外功能,则L2S通常为:

>更容易开始和使用,
>从LINQ查询到Tsql更简单的翻译,并支持将更简单的.net方法转换为Tsql,而L2E依赖于“特殊”方法,例如日期/时间比较等,
>并且由于表和实体类之间的直接1:1映射而具有较少的运行时开销.

EF增加了更多的功能,例如支持其他RDBMS和比普通的1:1更复杂的映射,支持几种不同类型的实体继承等.带有成本:

>运行时开销高于L2S,
>编写针对EF的linq查询由于使用不支持的CLR方法或者需要使用L2E的“special methods”而稍微更可能运行到不能转换为Tsql的表达式中,而
由于双层(存储模型和概念模型)和它们之间的映射,可以花费更多的时间来获得EF模型的头部,而不是L2S模型.在xml编辑器中手动调整模型文件并不罕见.

简而言之:

>如果您的应用程序足够简单,您就可以只需要支持sql Server,和您的数据库架构/数据模型是干净的足够了,所以你不需要做更多的事情高级映射然后L2S是伟大的选择.虽然不太可能MSFT将添加任何新的大功能对它来说,这不是真的必要的.它工作得很好,因为它是解决应该解决的问题.许多应用和网站(包括此)在L2S上运行良好.>如果需要支持其他DB比sql Server,或者如果你的数据库模式与对象不匹配你想要的模型,或者你需要其他的从EF那里得到更大的功能应该使用EF.

原文链接:https://www.f2er.com/mssql/82618.html

猜你在找的MsSQL相关文章