任意命名约定(业务对象)

时间:2020-03-05 18:47:50  来源:igfitidea点击:

好的,我们是否执行" Business.Name"或者" Business.BusinessName"
SubCategory.ID或者SubCategory.SubCategoryID

那在数据库中呢?

为什么?

我都被这两个撕碎了。希望有一个"正确答案"

解决方案

回答

唯一的"正确"答案是要保持一致。先确定要在项目中使用的对象,然后坚持执行。

回答

对于" Name"和" ID"等非常常见的属性,我使用的约定是不要将实体名称放在字段中。对于更特殊的属性,我确实输入了实体名称。

这是一个命名约定的决定,但是我没有后悔有个约定的项目,如果我们为每个ID输入实体的名称,它看起来似乎太冗长了。

回答

我们会在主键上做ID。说SubCategory.SubCategoryID似乎是多余的,

回答

使用ID,Name等的主要缺点是,如果要编写重叠两个表的SQL连接,则必须使用表名对它们进行限定。

尽管如此,我发现仅使用ID和Name更加简洁和易读,代码和表将更容易"流"过它们。易于键入且冗余少。在SQL查询中键入SELECT Business.Name FROM ...确实比键入SELECT BusinessName FROM ...麻烦得多。

总的来说,如果我发现自己在重复语义信息,它会提醒我寻找消除它的方法,或者至少认识到重复它的原因。这可能是小规模的(属性名称)或者大范围的(行为模式或者常见的类结构)。

回答

我可能不正确,但我认为Id是美味佳肴。

的东西
因为如果我们要编写处理对象并需要主键的任何反射性内容,那么它在任何地方都更容易了解它,然后尝试使用公式来确定它。

至于另一个,那是总的偏爱,除了浪费时间键入其他字符及其.net之外,我看不到任何其他实际含义,因此无论如何也没有人键入名称空间。