2013-09-27 73 views
0

我正在編寫自己的ORM框架,並且對將代碼負責執行SQL命令的位置有疑問。執行SQL命令應該在實體類中調用還是在外部數據庫管理器中調用?你知道這是如何在其他ORM框架中處理的嗎?ORM實體概念

回答

1

我在90年代寫了自己的ORM,與VB5和VB6以及RDO一起使用SQL Server。我申請的關注點分離的原則,以生成的代碼,這樣有我的ORM CASE工具生成的代碼三層:

    的CRUD操作和搜索/掛牌運營
  • VB代碼
  • 的Transact SQL存儲過程操作數據庫層(這是RDO,具體的東西住的地方)
  • 業務規則的代碼(這是將被應用的編輯和默認值)

這種分離使得代碼更合乎邏輯,讓我隔離對c的更改例如,當RDO需要轉換爲ADO.NET時。這也意味着我不必閱讀過去的數據庫樣板文件就能夠查看和修改與業務邏輯相關的代碼,反之亦然,通讀業務規則以找到需要更改SQL Server列名稱的位置。