.net 用于新项目的Linq2SQL

.net 用于新项目的Linq2SQL,.net,linq-to-sql,entity-framework,project-planning,.net,Linq To Sql,Entity Framework,Project Planning,编辑 感谢所有的投入。我们非常欢迎大家的意见,我认为现在我们将采用L2S实现,并以这样一种方式汇总/封装我们的DAL,如果我们将来需要更改为EF,这将不会是一个非常轻松的操作 因为这是相当主观的,所以投票最多的海报会得到分数 原版 我一直在努力跟上整个实体框架与Linq2SQL主题的进度 而且已经有一些Q了,例如 我想知道的是(欢迎发表意见)如果您正在启动一个新的重大项目,您会使用Linq2SQL作为数据访问层吗 给出一些上下文,我们是一个.NETC#House,DB是SQLServer200

编辑

感谢所有的投入。我们非常欢迎大家的意见,我认为现在我们将采用L2S实现,并以这样一种方式汇总/封装我们的DAL,如果我们将来需要更改为EF,这将不会是一个非常轻松的操作

因为这是相当主观的,所以投票最多的海报会得到分数

原版

我一直在努力跟上整个实体框架与Linq2SQL主题的进度 而且已经有一些Q了,例如

我想知道的是(欢迎发表意见)如果您正在启动一个新的重大项目,您会使用Linq2SQL作为数据访问层吗

给出一些上下文,我们是一个.NETC#House,DB是SQLServer2000,但我们可能会在今年晚些时候将其移植到SQLServer2005。在我们的小型开发团队中,我是唯一拥有C#3.0/.NET3.5经验的人。在过去的3年里,团队中的其他人都在使用手工剪切的ADO.NET和SqlHelper代码进行数据访问层开发,一直被困在1.1/2.0领域

我想,我主要担心的是,我们会用一些更先进/可用/开发更快的东西(例如L2S)启动这个新项目,但最终,它已经过时了

我们是否应该采取行动,推迟项目,并在VS2008中使用实体框架进行调查


为所有有意见的人干杯。

我相信,从中期来看,林克肯定会留下来。它的学习曲线比EF短(或者至少对我来说是这样),所以我就这样做了。

虽然微软继续支持Linq,但我怀疑它很有可能会被实体框架击败,但他们还不想引起恐慌,希望实体框架能通过例子证明它更有价值

至少可以说,EF4.0中的新功能非常引人注目,与EF3.5SP1相比,大多数争论都围绕L2S和EF展开。EF4.0有POCO、持久性忽略、延迟加载、T4模板、N层支持等等

就我个人而言,我会支持EF4.0,但它仍处于测试阶段,要到今年年底才能实现RTM,所以这取决于你的日程安排。这就是说,从Linq迁移到SQL比从nHiberante或其他一些技术更容易,因此如果您明天需要上线,可以试试EF 4.0的Beta 1或使用Linq到SQL


到目前为止,Beta 1已经得到了很好的评价,并且已经使用了EFPocoAdapter(Beta 1的前身),我很高兴推荐它。

我将直接进入实体框架(EF),使用LINQ to Entities。微软已经宣布EF是未来数据库工作的发展方向,它是他们所有新产品的技术。因为您的大多数开发人员都没有使用LINQ,所以会有一个学习曲线,但是一旦您使用了LINQ,代码就会自然而然地出现

EF更面向对象,因此它与LINQtoSQL有不同的感觉。例如,在EF中表示与对象的关系,其中LINQ to SQL允许您指定外键索引。即将推出的版本将更易于使用。您可能会发现遵循以下步骤很有用


我会选择.NET4.0中的EF。我不仅听说L2S处于维护模式,而且在新版本中EF也有了很大的改进。对我来说最重要的是。

LINQ2SQL是C团队创建的,作为一种将SQL结构格式化为类并在C中查询它们的方法。EF是由ADO.NET数据库团队开发的,因此它比程序员更倾向于数据库端。由于ADO.NET是微软的DB平台,他们当然会比LINQ2SQL更支持它,但这并不是说他们不会并行开发


下面是一个示例,并列比较了LINQ2SQL和EF。这并不是所有的要点,但至少有许多重要的要点。

EF需要进一步发展。有些东西仍然缺乏,例如隐式延迟加载、以数据库为中心而不是以领域模型为中心等。请阅读更多关于不信任投票的信息:

Linq!=Linq to SQL-在本次讨论的上下文中,问题是什么是Linq与(L2S或EF)一起使用,而不是使用Linq。很抱歉,请使用Linq而不是L2S。我想我的意思很清楚。