ORM实体概念

时间:2013-09-27 09:16:21

标签: database-design orm

我正在编写自己的ORM框架,并且我对在何处放置负责执行SQL命令的代码存有疑问。应该在实体类中调用执行SQL命令,还是在外部数据库管理器中调用?你知道在其他ORM框架中如何处理这个问题吗?

1 个答案:

答案 0 :(得分:1)

我在1990年代编写了自己的ORM,用VB5和VB6以及RDO和SQL Server一起工作。我将关注点分离原则应用于生成的代码,以便我的ORM CASE工具生成三层代码:

  • 用于CRUD操作和搜索/列表操作的Transact SQL存储过程
  • 用于操作数据库层的VB代码(这是特定于RDO的东西所在的位置)
  • 业务规则代码(这是应用编辑和默认值的地方)

这种分离使代码更具逻辑性,并允许我在需要将RDO转换为ADO.NET时隔离对代码的更改。这也意味着我不必阅读过去的数据库样板,以便能够查看和修改与业务逻辑相关的代码,反之亦然,通读业务规则以找到需要更改SQL Server列名的位置。