レガシーデータベース(.NET C#を使用)を介して新しいシステムを開発します。約500のテーブルがあります。データアクセス層にORMツールを使用することを選択しました。問題は、エンティティの命名規則にあります。エンティティ名とテーブル名
データベース内のテーブルの名前は、TB_CUST
- 顧客データを含むテーブル、またはTP_COMP_CARS
- 社内車のような名前です。接頭辞の最初の文字はモジュールを定義し、2番目の文字は他の表との関係を定義します。
実体をより意味のある名前にしたいと思います。 TB_CUST
のようにCustomerまたはCustomerEntityだけです。もちろん、テーブル名を指すコメントがあります。
しかし、DBAとプログラマは一人で、このような名前は必要ありません。彼はエンティティ名をテーブル名と全く同じにしたいと考えています。彼は2つの名前を覚えなければならないと言っているが、それは難しくて面倒だ。私は彼に、OOPの原則に精通していないと言わなければならない。
TP_COMP_CARS
のようなエンティティ名の場合は、Get TP_COMP_CARS
またはSaveTP_COMP_CARS
のようなメソッド名が必要です。これは読めなくて醜いと思います。
あなたの意見を教えてください。誰が正当で、なぜそうです。
は事前
+1それはORMの要点です:braindeadテーブルの命名規則を取り除くこと:) –
それは既存のDBA /プログラマの男にとって痛みです。彼は素晴らしい世界を持っており、彼にとっては変わります。しかし、このケースでは、ビジネスロジックのドメインネームを慎重に選んで、仕事を保存しておくことを重視しています。 – djna
+1 - 別の点を追加することもできますが、ORMツールを使用すると、正確なテーブル名とカラム名をハードコードする必要なくアプリケーション層を開発できます。ストアドプロシージャとハードコードされたSQLは、データの再構成を困難にします。アプリケーション層にORMと型安全なエンティティオブジェクトを適切に使用すると、データの再構造化がはるかに容易になります。 –