“type”和“class”可能是C#和/或Ruby中保留或有问题的单词,我可能会使用这两种语言来对未来的新数据库模式进行编程。
因此,为了避免与这些语言的潜在冲突,我正在寻找表格中这些字段名称的替代名称。
在这种情况下,它来自我的Machines表,我有:
“class”字段(值类似于“手动”或“计算机化”)
和
“type”字段(值为“lathe”或“mill”)
我可以调用字段“machineclass”和“machinetype”,但这与我的架构的其余部分中的命名方案不一致(意思是,我不会在字段中重用表名...例如,我使用Machine.name,而不是Machine.machinename)
对这种疯狂的想法?
答案 0 :(得分:3)
您可以添加一些冗余并将其称为“type_id”和“class_id”,或“type_name”和“class_name”。
答案 1 :(得分:1)
简单。它也始终在SQL中发生。您需要为该特定问题命名,而不是违反您选择的较大命名约定。
我们的命名约定(与您的问题具有相同的问题,已解决)将决定这样的事情。易于阅读和理解,但也确定我们避免使用保留字:
类里面
Typpe
我们已经拥有:
Rowss
Countt
MachineClass和MachineType是错误的。
答案 2 :(得分:1)
由于我是双语(英语和西班牙语),我使用:clase = class,tipo = type,或者如果我想用英语保留所有内容,我会选择一个同义词:category = class,kind = type。当我对我的应用程序进行修订或新版本时,我还将_v1 _v2 _v3 ...连接到列名称,这需要新列来更轻松地记录我的代码。
答案 3 :(得分:0)
Klass是可以使用的常见拼写错误。 我不确定是否存在类型错误的拼写错误。
但是Ruby On Rails可能会使用Klass,我不确定。我会在使用klass之前仔细检查一下,因为我不想影响它的变量。
答案 4 :(得分:0)
通常我们通过附加_id
来解决它所以查找表会有Machine_Types.type_id, Machine_Types.name
和Machine.type_id
可轻松绑定join Machine_Types using(type_id)
答案 5 :(得分:0)
我真的没有看到数据库字段被称为'type'或'class'的任何问题 - 至少从C#的角度来看。大多数ORM映射器将生成具有称为“类型”和“类”的属性的类,这是合法的。如果使用DataReader,您将使用索引器,字段名称将作为字符串传递。
当您的数据库字段名称与C#关键字“冲突”时,我无法想到。
答案 6 :(得分:-1)
不是一个很好的解决方案,但C#区分大小写。您可以拥有一个名为Class或Type的变量或类,它不会与类冲突或键入保留字。