分享

LINQ 默认栏目 默认栏目 语录点滴

 miky 2008-05-21


2006.8.25 10:00 作者:raysbo 

对LINQ to Entities与 LINQ to SQL(原名DLINQ)的功能做了比较,还对具体应该采用哪个技术做了讨论。

 

功能比较如下:

功能                                            LINQ to SQL               LINQ to Entities
支持语言扩展                                    是                        是
支持语言集成数据库查询                          是                        是
支持多对多 (3way Join/Payload relationship)     否                        否
支持多对多 (No payload)                         否                        是
支持存储过程                                    是                        否

支持实体继承                                    否                        是
支持数据来自多个数据表的实体类                  否                        是
支持对象Identity管理以及CRUD功能                是                        是

 

LINQ to Entities与LINQ to SQL间最本质性的区别在于,LINQ to Entities是对概念数据模型(conceptual data model)的查询。

 

如果你需要有对底层数据库数据定义的隔离,使你的对象更有弹性,那么采用实体框架
如果你需要实体继承和实体组合,那么使用实体框架
如果你已经有大量DLINQ 编码,不用实体也运行正常,那么别浪费时间重构到实体框架
如果你需要针对对象模型做LINQ查询,但你的对象模型与数据库里的数据表有1:1对应的话,你大概不需要实体框架
ADO.NET vNext包含一个“客户端视图(client-views)”引擎,假以时日,其威力之强劲,让人难以拒绝实体框架
Paul Gielens也指出,选择哪个技术,很大程度上取决于你的数据库定义与你的domain model是否相近。如果非常相似,那么使用LINQ to SQL更直接了当,否则就使用ADO.NET实体框架。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多