技术案例推演:Ent M2M Edge 关系建模
技术案例推演:Ent M2M Edge 关系建模
本文是演示内容,不是作者真实项目经历。后续会用真实素材替换。
场景
假设博客系统有 Article 与 Tag 两个实体,一篇文章可以拥有多个标签,一个标签也可以关联多篇文章。Ent schema 需要同时声明双向 edge,并让中间表的外键保持一致。
常见症状
只声明单向 edge 时,查询端可能无法从 Tag 反向预加载文章;迁移生成的关系也可能和业务预期不一致。排查时先检查两侧 edge 的 Ref、字段名和 storage key 是否一致,再检查生成迁移。
修复思路
先用最小 schema 生成迁移,再分别验证 Article -> Tags 和 Tag -> Articles 两条查询路径。业务层只依赖 biz 接口,Ent 查询细节留在 data 层,避免把 ORM 类型泄漏到 service。
经验
M2M 关系的正确性不只取决于表结构,也取决于 ORM 的双向声明和查询预加载方式。把 schema、迁移和两条反向查询放在同一个回归测试里,能尽早发现 edge 配置偏差。
问一问
基于博客已发布的文章回答问题,回答会附上出处。
评论
还没有评论,来写第一条吧。