加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – Entity Framework 4与LINQ to SQL,适用于使用SQL

发布时间:2020-12-12 16:11:39 所属栏目:MsSql教程 来源:网络整理
导读: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有更多的互动,所以我很
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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读