在 ORM 中重写 == 运算符有什么好处?

发布于 2024-07-29 07:32:59 字数 275 浏览 2 评论 0原文

显然,很多 ORM 都会做这样的事情:

query.filter(username == "bob")

生成像

... WHERE username = 'bob'

Why override the == 运算符这样的 SQL,而不是像这样的东西:

query.filter(username.eq("bob"))

Apparently, a lot of ORMs do something like this:

query.filter(username == "bob")

to generate SQL like

... WHERE username = 'bob'

Why override the == operator instead of something like:

query.filter(username.eq("bob"))

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苏璃陌 2024-08-05 07:32:59

这是一个主观问题,但总的来说,我会说前者的语法更直观,并且由于许多(如果不是大多数)ORM 都这样做,因此通常是预期的(使其更直观)。

This is a subjective question, but in general I would say that the syntax for the former is more intuitive, and since many (if not most) ORM's do this it's generally expected (making it more intuitive).

蝶舞 2024-08-05 07:32:59

orm的全部意义在于弥补对象和关系世界之间的“阻抗不匹配”,因此理论上你可以幸福地不知道sql世界中的“=”并使用对象世界的“==”。

The whole point of orm is brideing the "impedance mismatch" between object and relational world , So in theory you can be blissfully unaware of "=" in sql world and work with "==" of the object world.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文