Golang Go语言中自从用了ent 腰不酸了 腿不疼了

作为一个被 entityframework core 惯坏的开发者,
刚开始看到 gorm 和 xorm 心里那个膈应,你都 orm 了你还要往里填字符串?

都不说 err!=nil 之类的了 大不了弄个 defer
就因为这个 orm 问题,一直不想用 go
然后抱着玩玩心态感受了下 ent ,这玩意真舒服 找回了 efcore 的感觉。再也不用往里写字符串了
Golang Go语言中自从用了ent 腰不酸了 腿不疼了

10 回复

我公司就是使用 entgo ,熟悉后复杂的查询也能实现,还挺方便的

更多关于Golang Go语言中自从用了ent 腰不酸了 腿不疼了的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


ent 有一些写死的东西,比如 id 不能改,比如强制 returning

简单 crud 使用 sqlc 也挺爽的,直接写个 sql 生成函数。直接调用。

我周五放假写个推送服务,试下 ent 好不好使。

就是不想写 sql 才用 orm

其实还好,如果用 copilot 的话,写个中文注释就自动补齐出 sql, 然后就用 sqlc 生成操作函数。

不是好不好写的问题。 是代码里出现了 sql 就很膈应

ent 本身对比其它 orm 不是特别出色,但是自动生成 graphql 和 grpc 是真的好用。
可惜也有不少缺点比如:
不支持 composite primary key,
不支持多种类型的 primary key ,
predicate 不支持 hook 和 privacy ,所以想通过 tenant_id 实现 saas 比较麻烦,
复杂一点的查询语句需要自定义 entsql.Join 也很麻烦,不如 sql 写的简洁

在Go语言生态中,ent 作为一个强大的 ORM(对象关系映射)框架,确实为开发者带来了诸多便利,极大地提升了开发效率和代码的可维护性。你提到的“用了ent,腰不酸了,腿不疼了”,形象地表达了ent如何帮助开发者减轻了开发过程中的负担。

ent 框架以其清晰的设计理念和丰富的功能,让开发者能够更专注于业务逻辑的实现,而无需在数据层操作上花费过多精力。它支持复杂的查询、关联关系管理、事务处理以及数据迁移等功能,同时提供了灵活的钩子机制,允许开发者在数据操作前后执行自定义逻辑。

此外,ent 还提供了良好的文档和社区支持,使得初学者能够快速上手,遇到问题时也能迅速找到解决方案。这些特性共同促进了ent在Go语言社区中的广泛应用和好评。

当然,任何技术都有其适用场景和局限性,ent也不例外。在选择是否使用ent时,开发者需要根据项目的具体需求和团队的技术栈来做出决策。但无论如何,ent都为Go语言开发者提供了一个强大且灵活的ORM解决方案,有助于提升开发效率和代码质量。

总之,ent框架的引入确实为Go语言开发带来了诸多益处,让开发者能够更轻松地应对各种数据层挑战,从而实现了你所说的“腰不酸了,腿不疼了”的开发体验。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!