zoukankan      html  css  js  c++  java
  • linq to sql 与linq to entities的选择

    两种的特性:

    Feature

    LINQ to SQL

    LINQ to Entities

    Language Extensions Support

    Y

    Y

    Language Integrated Database Queries

    Y

    Y

    Many-to-Many (3way Join/Payload relationship)

    N

    N

    Many-to-Many (No payload)

    N

    Y

    Stored Procedures

    Y

    N (to be added)

    Entity Inheritance

    N

    Y

    Single Entity From Multiple Tables

    N

    Y

    Identity Management / CRUD features

    Y

    Y


    Kevin Hoffman的结论是,

    1. 如果你需要有对底层数据库数据定义的隔离,使你的对象更有弹性,那么采用实体框架
    2. 如果你需要实体继承和实体组合,那么使用实体框架
    3. 如果你已经有大量DLINQ编码,不用实体也运行正常,那么别浪费时间重构到实体框架
    4. 如果你需要针对对象模型做LINQ查询,但你的对象模型与数据库里的数据表有1:1对应的话,你大概不需要实体框架
    5. ADO.NET vNext包含一个“客户端视图(client-views)”引擎,假以时日,其威力之强劲,让人难以拒绝实体框架

    Paul Gielens也指出,选择哪个技术,很大程度上取决于你的数据库定义与你的domain model是否相近。如果非常相似,那么使用LINQ to SQL更直接了当,否则就使用ADO.NET实体框架。

    (题外话:其实在怎么选择上,应该在Linq 出来之前我们就已经有答案了,做什么选择取决于项目的具体需要,我们是否需要有PO,BO,VO这样的东东只与设计有关,跟使用什么技术无关)

    下面有一个牛人级人物的链接:http://blog.joycode.com/saucer/archive/2008/02/09/114500.aspx

    (题外话:好像现在linq to sql 只是针对sql server的,如果要考虑其他数据库,可选择linq to HQL或者linq to NH)

  • 相关阅读:
    python模块:XML
    python常用模块:json&pickle
    python模块:os,sys
    python常用模块:time与random
    文件查询修改功能实现
    Ubuntu--smb配置文件详解
    Ubuntu添加计划任务
    Docker私有仓库registry
    docker + calico网络,实现不同容器之间的相互访问
    Centos7 yum安装nginx
  • 原文地址:https://www.cnblogs.com/pojia/p/1132869.html
Copyright © 2011-2022 走看看