我读过类似的问题(Relational table naming convention),但不幸的是我无法找到问题的答案。
我有产品。产品可以有图像和评论。他们是一对多的关系。
表和实体名称如下:
产品是独立的,评论和形象取决于产品。到目前为止没问题。
但我需要将产品分类(一对多)。
类别可以独立存在,它是独立的,所以我不能使用 product_category(ProductCategory)命名(它表示产品可以有类别)。< / p>
没有任何前缀(类别(类别))的命名也不好,因为数据库中可能有其他类别(用户类别等)。
所以对我来说,唯一的解决方案是:
但我对此也不满意。它表示类别可以有产品......
非常感谢任何帮助!
谢谢!
答案 0 :(得分:0)
有点晚了,但也许可以帮助别人努力命名...
考虑与实际数据库关系无关的表/实体名称可能会有所帮助。如果这种类型的“类型”仅适用于产品,那么它就是现实世界中的“产品类别”,因此命名表entityBIds
是有意义的。如果您有用户的类别类型,那么您拥有的是“用户类别”,逻辑表名称将是public interface IConsumer
{
bool TryConsume(Product product);
}
public class ConcreteConsumerA : IConsumer
{
public bool TryConsume(Product product)
{
if (product is SpecificProductA a)
{
//consume a
return true;
}
return false;
}
}
。您的产品图片和评论也是如此。
因此,在命名实体时,请尝试考虑实体是什么,而不是它与其他实体的关系。