在Visual Studio中命名实体时,是否有一个公认的最佳实践,用于命名实体复数与单数?我看到一些例子将名称实体视为复数......
客户与客户
是否存在导航属性或实体之间关系的命名最佳实践?
答案 0 :(得分:4)
在ORM方法中,实体表示来自数据库的表/视图,默认情况下它们采用完全相同的名称。互联网上的许多示例都引用了Northwind
数据库,其中表的名称类似于Customers
,Categories
等。考虑到它是由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)
我习惯将实体命名为单数和表格作为复数。这对我来说最有意义,因为客户是一个,客户表中可以有很多人。
对于导航属性,我选择基于相同逻辑的名称。如果关系链接到多个实体 - 请输入复数。