[疑问] Dapper 在.Net 开发者中是否相对于 EF Core 更受欢迎

2022-04-28 18:48:18 +08:00
 KomiSans
最近在为公司重构一个服务 专门做短信服务对接 负责发送短信和对短信的数据统计
原先的项目中用的是 EntityFrameWork Core
和 LinQ 集成写起来挺方便的 尤其是查询的时候
现在自己用 Dapper 来写 Orm 层的逻辑 主要是手写 SQL 加上 Dapper 对 IDbConnection 的方法扩展

个人感觉 Dapper 的最大优势就是比较自由 也是比较麻烦 需要自行编写 SQL 语句
2648 次点击
所在节点    程序员
29 条回复
KomiSans
2022-04-29 09:32:45 +08:00
@bthulu 对 如果只是写 LinQ 有时候很难查到哪一个地方出错
qW7bo2FbzbC0
2022-04-29 09:39:42 +08:00
NPoco + MySQLConnector ,dapper 试过,功能性不如 NPoco ,但是 NPoco 在高频请求的情况下,会出现连接管理问题。所以高频请求场景,我选择裸用 Driver
qW7bo2FbzbC0
2022-04-29 09:40:31 +08:00
EF 我感觉比较重,侵入性比较强,但是可以自动生成 DO 比较方便
afirefish
2022-04-29 09:41:00 +08:00
换 FreeSql ,都有了。
jjwjiang
2022-04-29 10:01:17 +08:00
复杂的场景无论如何最后一定是存储过程,EF 或者 Dapper 这种情况就是调 script ,没区别

简单的场景显然 EF 要好用得多,所以个人认为 Dapper 可以退出历史舞台了
KomiSans
2022-04-29 10:05:02 +08:00
@jjwjiang 我记得当时在 Infosys 的时候大部分业务逻辑实现就是各种各样的存储过程 挺真实的
jjwjiang
2022-04-29 10:13:05 +08:00
@bthulu 这不是 EF 的范畴和问题,用表达式树可以很简单的解决这个问题
ClorisYe
2022-04-29 14:36:57 +08:00
ef 在做单个实例的增删改查很方便,做列表查询的时候我一般都用 dapper ,有一些复杂查询,直接在数据库查方便,可靠。
quan01994
2022-04-29 15:46:09 +08:00
我一般用 linq2db ,也还可以 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/849876

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX