在实体命名中是否有关于复数与单数的最佳实践?

时间:2014-05-19 20:24:28

标签: .net entity-framework

在Visual Studio中命名实体时,是否有一个公认的最佳实践,用于命名实体复数与单数?我看到一些例子将名称实体视为复数......

  

客户与客户

是否存在导航属性或实体之间关系的命名最佳实践?

2 个答案:

答案 0 :(得分:4)

在ORM方法中,实体表示来自数据库的表/视图,默认情况下它们采用完全相同的名称。互联网上的许多示例都引用了Northwind数据库,其中表的名称类似于CustomersCategories等。考虑到它是由Microsoft设计的示例数据库和用于教育目的,复数命名惯例听起来像是一种正确的方式。

但是Northwind数据库可以追溯到15年前的SQL Server 2000。随着SQL Server技术的发展,sample databases were changing as well

如果您现在使用AdventureWorks查看comparison Northwind的{​​{3}},您会发现名称变得单一。我相信像EntityFramework,Linq,Generics这样的东西确实发挥了作用,使微软以一种单一的方式重命名表......因为在他们的教育代码清单中会有很多代码如下:

Customers customer = GetTopCustomer(); //errrr??
var customers = GetTopCustomers(); //collection this time.. or single item?

使代码更易于人类阅读和极度混乱。

走奇异的道路:) 微软已经通过示例数据库做到了这一点。

答案 1 :(得分:4)

我习惯将实体命名为单数和表格作为复数。这对我来说最有意义,因为客户是一个,客户表中可以有很多人。

对于导航属性,我选择基于相同逻辑的名称。如果关系链接到多个实体 - 请输入复数。