我正在编写自己的 ORM 框架,并且对将负责执行 SQL 命令的代码放在哪里有疑问。执行 SQL 命令应该在实体类中调用还是在外部数据库管理器中调用?你知道这在其他 ORM 框架中是如何处理的吗?
问问题
54 次
1 回答
1
我在 1990 年代编写了自己的 ORM 以使用 VB5 和 VB6 以及使用 SQL Server 的 RDO。我将关注点分离原则应用于生成的代码,这样我的 ORM CASE 工具生成了三层代码:
- Transact SQL 存储过程用于 CRUD 操作和搜索/列出操作
- 用于操作数据库层的 VB 代码(这是 RDO 特定的东西所在的地方)
- 业务规则代码(这是应用编辑和默认值的地方)
这种分离使代码更加合乎逻辑,并允许我在需要将 RDO 转换为 ADO.NET 时隔离对代码的更改。这也意味着我不必阅读过去大量的数据库样板就能够查看和修改与业务逻辑相关的代码,反之亦然,通读业务规则以找到需要更改 SQL Server 列名的位置。
于 2013-09-27T12:31:49.550 回答