none
LINQ to SQL与LINQ to Entities 的优缺点问题 RRS feed

  • 问题

  •  

    据说LINQ to Entities 将要替代LINQ to SQL,于是便google了一下LINQ to Entities 到底好在哪里,目前的结论就是LINQ to Entities 支持多个数据库,LINQ to SQL只支持sql server。

    问题一:

    真的是这样么?是否还有别的原因,或者说LINQ to Entities比LINQ to SQL还有其他的优点?

    问题二:

    如果LINQ to Entities 支持多种数据库,而在vs环境里只用ESQL的话,是否应该有个adapter层为各个数据库提供最终的sql语句?

     

    等待答复与确认,多谢!!

     

    在顺便问一句,以后的ado .net entity framework 和现在的ado.net 是被包换关系么?

    2009年1月6日 7:50

答案

  • 参考下老外的说法和微软的文档吧。
    LINQ to Entities是 LINQ to SQL的扩展.

    LINQ to SQL is an object-relational mapping (ORM) framework that allows the direct 1-1 mapping of a Microsoft SQL Server database to .NET classes, and query of the resulting objects using LINQ. More specifically, LINQ to SQL has been developed to target a rapid development scenario against Microsoft SQL Server where the database closely resembles the application object model and the primary concern is increased developer productivity.

    LINQ to Entities is, specifically, a part of the ADO.NET Entity Framework which allows LINQ query capabilities. The Entity Framework is the evolution of ADO.NET that allows developers to program in terms of the standard ADO.NET abstraction or in terms of persistent objects (ORM) and is built upon the standard ADO.NET Provider model which allows access to third party databases.

    http://dotnetaddict.dotnetdevelopersjournal.com/adoef_vs_linqsql.htm

    http://msdn.microsoft.com/en-us/library/cc161164.aspx#_Toc188851307

    2009年1月12日 8:01

全部回复

  • 没有关注这个问题么,自己up一个先

    2009年1月7日 1:07
  • 两种概念,不具有可比性!!!!

    Linq to Sql 是一种实体模型,Linq to Entities是一种查询方式,怎么比?

     

    2009年1月7日 9:57
  •  uucharge 写:

    两种概念,不具有可比性!!!!

    Linq to Sql 是一种实体模型,Linq to Entities是一种查询方式,怎么比?

     

     

    十分感谢楼上的回复,不过还请再稍稍(只要稍稍即可)了解下两种Provider,再下结论。

    2009年1月8日 1:58
  • 参考下老外的说法和微软的文档吧。
    LINQ to Entities是 LINQ to SQL的扩展.

    LINQ to SQL is an object-relational mapping (ORM) framework that allows the direct 1-1 mapping of a Microsoft SQL Server database to .NET classes, and query of the resulting objects using LINQ. More specifically, LINQ to SQL has been developed to target a rapid development scenario against Microsoft SQL Server where the database closely resembles the application object model and the primary concern is increased developer productivity.

    LINQ to Entities is, specifically, a part of the ADO.NET Entity Framework which allows LINQ query capabilities. The Entity Framework is the evolution of ADO.NET that allows developers to program in terms of the standard ADO.NET abstraction or in terms of persistent objects (ORM) and is built upon the standard ADO.NET Provider model which allows access to third party databases.

    http://dotnetaddict.dotnetdevelopersjournal.com/adoef_vs_linqsql.htm

    http://msdn.microsoft.com/en-us/library/cc161164.aspx#_Toc188851307

    2009年1月12日 8:01
  • Linq to SQL 通过O/R映射器快速的将基于SQL的数据源映射成CLR对象,之后通过LINQ进行查询;

    优点:快速开发,是单数据库SQL的较好替代,缺点:当前版本单DataContext不支持跨数据库查询支持力度不够,

    Linq to Entities :

    EDM(Entity Data Model) 是一个实体数据模型,它包含CSDL概念层(对象的XML定义)、SSDL逻辑层(数据库存储的关系模式)、MSL映射层(映射CSDL和SSDL实例)。

    Linq to Entities 的优点:1、可以使用数据库表关系进行关联查询,很棒的功能;2、支持继承;

    Linq to Entities 的缺点:1、模型比较复杂;2、对存储过程的调用比Linq to SQL 麻烦;

    总的来说:如果仅使用存储过程的话,当前版本建议使用Linq to SQL,如果你的数据库表之间存在复杂关系,建议使用EDM模型!

    2010年12月31日 1:10