我们将在传统数据库(使用.NET C#)上开发一个新系统,大约有500个表。我们选择为我们的数据访问层使用ORM工具。问题在于实体的namig约定。实体名称与表名
数据库中的表格有名称,如TB_CUST
- 包含客户数据的表格或TP_COMP_CARS
-公司汽车。前缀的第一个字母定义模块,第二个字母定义与其他表格的关系。
我想命名实体更有意义。像TB_CUST
只是客户或客户实体。当然会有一个注释指向它的表名。
但是DBA和程序员在一个人,不要这样的名字。他希望实体名称与表名完全相同。他说他必须记住两个名字,这将是困难和混乱。我不得不说他不太熟悉面向对象的原理。
但是如果像TP_COMP_CARS
这样的实体名称应该有方法名称,如Get TP_COMP_CARS
或SaveTP_COMP_CARS
..我认为这是不可读和丑陋的。
所以请告诉我你的意见。谁是对的,为什么。
预先感谢您
+1这就是ORM的要点:摆脱braindead表命名约定:) – 2009-12-04 09:25:41
这是现有的DBA/Programmer家伙的一些痛苦,他有他的美好的世界,对他而言这是改变。但在这种情况下,我重视在业务逻辑中仔细选择域名以节省一些工作。 – djna 2009-12-04 09:51:57
+1 - 我还可以补充一点:ORM工具意味着您可以开发应用程序层,而无需对精确的表名和列名进行硬编码。存储过程和硬编码SQL使得难以重构数据。在应用程序层中良好地使用ORM和类型安全的实体对象使重构数据变得容易得多。 – 2014-07-29 08:19:31