3

编辑

感谢所有投入的家伙。非常欢迎提出意见,我认为此时我们将采用 L2S 实现,并以这样一种方式汇总/封装我们的 DAL,以便将来如果我们需要更改为 EF,它不会太轻松一个手术。

由于它非常主观,因此得分最多的海报。

原创

我一直在努力跟上整个 Entity Framework Vs 的速度。Linq2SQL 主题,并且已经有一些关于 SO 的问题,例如

实体框架与。链接到 Sql

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

为了提供一些背景信息,我们是一个 .NET C# House,DB 是 SQL Server 2000,但我们可能会在今年晚些时候将其移植到 SQL 2005。在我们的小型开发团队中,我是唯一拥有 C# 3.0 / .NET 3.5 经验的人。在过去的 3 年中,团队中的其他所有人都使用手工切割的 ADO.NET 和 SqlHelper 代码用于数据访问层,一直停留在 1.1/2.0 领域。

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

如果我们受到打击,推迟项目并使用 VS2008 中的实体框架进行调查。

为任何输入的家伙干杯。

4

6 回答 6

5

虽然 Microsoft 继续支持 Linq,但我怀疑它很有可能会被 Entity Framework 胜过,但他们还不想引起恐慌,并希望 Entity Framework 能够通过示例证明更有价值。

与 EF 3.5 SP1 相比,EF 4.0 中的新功能至少可以说非常引人注目,而且大多数争论都是围绕 L2S 与 EF 进行的。EF 4.0 具有 POCO、持久性无知、延迟加载、T4 模板、N 层支持等等。

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

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

于 2009-06-02T13:33:24.423 回答
1

我相信,从中期来看,Linq 会继续存在。它的学习曲线比 EF 短(或者至少对我来说是这样),所以我就这样走了。

于 2009-06-02T13:24:20.197 回答
0

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

EF 更加面向对象,因此与 LINQ to SQL 有不同的感觉。例如,在 EF 中,您表达与对象的关系,而 LINQ to SQL 允许您指定外键索引。即将推出的版本将更易于使用。您可能会发现关注ADO.NET 团队博客很有用。

于 2009-06-02T13:37:36.787 回答
0

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

于 2009-06-02T13:38:04.147 回答
0

LINQ2SQL 是由 C# 团队创建的,用于将 SQL 结构 ORM 到类并在 C# 中查询它们。EF 由 ADO.NET DB 团队开发,因此它更适合于数据库方面,而不是程序员方面。由于 ADO.NET 是 Microsoft 的 DB 平台,他们当然会比 LINQ2SQL 更支持它,但这并不是说它们不会并行开发。

这是一个链接到一个并排比较 LINQ2SQL 和 EF 的页面。这不是所有要点,但至少有许多重要的要点。

于 2009-06-02T13:42:37.320 回答
0

EF 需要进一步发展。仍然缺少一些东西,例如隐式延迟加载、专注于数据库而不是专注于域模型等。阅读更多关于不信任投票的信息:http: //blogs.msdn.com/timmall/archive/2008/06/24 /不信任投票.aspx

于 2009-06-02T14:08:47.283 回答