none
Linq to Sql跟ADO.net EF 有什么区别么? RRS feed

  • 问题

  • Linq to Sql跟ADO.net 实体框架 有什么区别么?貌似都是ORM的,具体上有什么区别么?各自适合用在哪方面?哪位高手指点指点
    2010年8月23日 16:20

答案

  • 你好

    LINQ to SQL 只能夠支援1對1的Mapping 到table/view/stored procedure/function, 適用於一些比較簡單的 資料庫查詢  [只可以用於MICROSOFT SQL SERVER, 和tightly coupled]

    Entity Framework 是一個 ORM (Object Relational Mapper) API 支援Relational Database. E.g. 適用於一些比較複雜的Relationa Database 或 在不同資料庫Server都可以使用的
    支援多對多關係, 和任何ado.net data provider

    詳情可以參考以下URL
    Entity Framework vs LINQ to SQL
    http://stackoverflow.com/questions/8676/entity-framework-vs-linq-to-sql

    Introducing LINQ to Relational Data
    http://msdn.microsoft.com/zh-cn/library/cc161164.aspx

    Applies To:

    LINQ to SQL

    LINQ to Entities

    ADO.NET Entity Framework

    Please correct me if my concept is wrong
    Chi
    • 已标记为答案 Mog Liang 2010年8月31日 7:40
    2010年8月23日 20:33

全部回复

  • 你好

    LINQ to SQL 只能夠支援1對1的Mapping 到table/view/stored procedure/function, 適用於一些比較簡單的 資料庫查詢  [只可以用於MICROSOFT SQL SERVER, 和tightly coupled]

    Entity Framework 是一個 ORM (Object Relational Mapper) API 支援Relational Database. E.g. 適用於一些比較複雜的Relationa Database 或 在不同資料庫Server都可以使用的
    支援多對多關係, 和任何ado.net data provider

    詳情可以參考以下URL
    Entity Framework vs LINQ to SQL
    http://stackoverflow.com/questions/8676/entity-framework-vs-linq-to-sql

    Introducing LINQ to Relational Data
    http://msdn.microsoft.com/zh-cn/library/cc161164.aspx

    Applies To:

    LINQ to SQL

    LINQ to Entities

    ADO.NET Entity Framework

    Please correct me if my concept is wrong
    Chi
    • 已标记为答案 Mog Liang 2010年8月31日 7:40
    2010年8月23日 20:33
  • 你好 启天 ,

    小弟補充一點,LINQ to SQL 只能做查詢用,不能做增刪改的動作;

    而 Entity Framework 則是增刪査改都可以做。



    Best regards
    • 已编辑 DK. Da 2012年6月10日 1:41
    2010年8月24日 8:07
  • 你好 启天 ,

    小弟補充一點,LINQ to SQL 只能做查詢用,不能做增刪改的動作;

    而 Entity Framework 則是增刪査改都可以做。



    Best regards

    小中中的學習筆記


    晕倒.
    2010年8月25日 6:14
  • 你好 启天 ,

    小弟補充一點,LINQ to SQL 只能做查詢用,不能做增刪改的動作;

    而 Entity Framework 則是增刪査改都可以做。



    Best regards

    小中中的學習筆記


    完全错误。

     

     


    成为 Microsoft V Dash了。。。 欢迎各位前辈同事在OCS加我
    2010年8月25日 7:58
  • 各位抱歉,這是小弟的誤解~~

    LINQ to SQL 的確是可以做除了 Query 以外的事情!!!

     

    至於它跟 Entity Framework 有什麼不同,您可以參考底下這篇文:

    LINQ to SQL vs. Entity Framework未來性之比較與釋疑



    Best regards

    • 已编辑 DK. Da 2012年6月10日 1:41
    2010年8月25日 9:58
  • 这里面有点点误会哦,linq to sql 也是可以做CUID操作的!
    “这不是我的错”,这句话不对。“这都是你的错”,这句话更不对。如果你没有犯过任何错误,就说明你可能没有努力去工作。
    2010年8月28日 2:17
  • 个人感觉linq to sql可能对应用程序的性能有很大的影响,因为linq to sql将数据库表映射到实体类,即在客户端内存缓存,一旦DataContext对象执行对数据库的连接,并且有对于数据表的查询请求,会将持久的数据库表单记录全部缓存起来供 linq 使用,所以对于具有海量记录的数据库应用显然是个瓶颈,可能微软也意识到了这一点,也启动了另外一个叫Entity Framework的项目,感觉他们是想用另外一种更加全面的方案来解决

    linq to sql的天然短板!我详细研究了linq to sql技术,对此技术有着这方面的顾虑和困惑,所以一直没敢应用到我的项目中去!也许,使用者在程序中严格注意对于数据库的操作可以避免一些性能方面的损失吧?期望有实际项目应用方面的老手来交流这方面的宝贵经验和教训!


    “这不是我的错”,这句话不对。“这都是你的错”,这句话更不对。如果你没有犯过任何错误,就说明你可能没有努力去工作。
    2010年8月28日 2:27