首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

C#中 ORM 方案

  •  
  •   wangxiaoaer · 154 天前 · 1217 次点击
    这是一个创建于 154 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个 Web 接口需要基于 C#开发,Mysql 数据库,N 多张表,每张表 50+字段。

    如果全部用手写的方式拼 sql,可能要死,所以考虑到 ORM。

    搜了一下好像有 Dapper,但是同样也看到一些人建议什么 LINQ,因为对.Net 开发不熟,所以想问问都有哪些方案?

    要求:

    1 轻量化:不要依赖很重,装很多东西那种,dotNet 平台内置的最好,性能即使稍微低一点关系不大,只要稳定。

    2 文档:不要求很高质量,起码能让人看懂。

    3 生命力:尽量不要推荐几年前的方案(库),除非经过了多年考验。

    第 1 条附言  ·  154 天前
    谢谢各位回复,我们最终决定选择 EF6.
    21 回复  |  直到 2019-07-05 14:57:33 +08:00
        1
    wdoit9   154 天前
    EF?
        2
    tanranran   154 天前
    同求

    我们公司是这样的,

    model 通过工具(每次新增和更改 model 都得跑一下)生成 partial 扩展类(里面是各种自动生成的增删改查 sql )

    每次增删改查的时候,都会自动从扩展类里面读取 sql 然后执行。
        3
    fengyunSmlie   154 天前
    EF
    Dapper
    FreeSQL
    DOS.ORM
    还有更多。。
    轮子其实不少
        4
    MaxTan   154 天前
    EF Dapper NHibernate
        5
    LongMaoz   154 天前
    .NET 平台上的轮子还是挺多的,官方自带的 EF 用 linq 语法就挺好用
        6
    wangxiaoaer   154 天前
    https://docs.microsoft.com/en-us/ef/ef6/

    EF 是这个吧,看了下,觉得还不错,准备试一下。 另外,初步看了下好像 EF core 是新的替代品吧,有些功能还在开发中,我就选了 EF6,有没有问题?
        7
    hihipp   154 天前
    Dapper 原则上不算一个 ORM。

    内置就是 EF 了,如果是 .net core 环境,目前还是不太建议用 EF Core。

    第三方可选 https://github.com/ServiceStack/ServiceStack.OrmLite,收费。
        8
    babedoll   154 天前
    EF 官方的 好用稳定,看你数据量大不大需不需要跨库分表了,如果不需要用 EF 是很舒适的。
        9
    catqi   154 天前
    想自己写 sql 就用 dapper,轻量级
        10
    Mithril   154 天前   ♥ 2
    啥也不用想的自然是 EF 最方便,文档也是相当全。一般的需求只需要点几下鼠标生成对应的代码,全程不需要写 SQL,而且对 Linq 支持极好。缺点就是这框架为了让你可以不写 SQL,做的相当的复杂,你要学的东西很多很多,不然出了问题很难调试。但用 EF 的时候你需要注意就是它不是很推荐你去手动修改数据库,最好是直接写代码,直接用 EF 映射成数据库,不然会有各种问题。
    Dapper 就简单很多了,你自己手写 SQL 进代码,查出来的东西直接映射成对象。
    个人建议时如果你不是很熟悉 SQL,就用 EF。毕竟很多时候水平一般的码农写出来的那 SQL 还不如 EF 自动生成的。如果你的表关系非常复杂,会有各种关联更新查询删除啥的,也用 EF 吧,毕竟省得你去搞那个复杂的 SQL。如果你很熟悉 SQL,或者你的查询不会很复杂,那就用 Dapper。毕竟这框架需要你手写 SQL,不会自动生成,非常简单。因为简单,性能也很不错。
    这里有个官方对比
    https://entityframework.net/ef-vs-dapper
        11
    mohoumk2   154 天前 via Android
    sqlsugar
        12
    dhssingle   154 天前
    EF Core
        13
    rocbomb   154 天前
    Dapper 还是挺直接的,我比较喜欢
        14
    sun1991   154 天前
    顶 Dapper 一记, 是我用过的最顺手的框架 (可能真算不上 ORM).
    我觉得 ORM 的问题就是解决简单的问题很方便, 但是一旦碰到解决复杂问题, 可能比手写 SQL 还要难搞. 反过来讲, 解决简单的问题, 手写 SQL 也不麻烦不是?
        15
    cozof   154 天前 via iPhone
    用 EF 要哭,MySQL 表一多同步一次同步半天。
        16
    abcbuzhiming   154 天前
    我在一堆.net 库里试验了一圈,最终确定 sqlsugar 很好用,EF 太重了
        17
    hellojxl   154 天前 via iPhone
    sqlsugar 好用,比 dapper 好用多了
        18
    MonoLogueChi   154 天前 via Android
    一直用 dapper,个人感觉还不错
        19
    BigBunny   154 天前
    dapper 封装一下
        20
    invinci   154 天前
    sqlsugar,非常好用
        21
    ragnaroks   154 天前
    chloe / sqlsugar
    不建议用 EF,数据量大会卡到你怀疑人生
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   883 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 21:50 · PVG 05:50 · LAX 13:50 · JFK 16:50
    ♥ Do have faith in what you're doing.