Нужны альтернативные имена полей для этих зарезервированных слов - PullRequest
2 голосов
/ 11 ноября 2010

«тип» и «класс», вероятно, являются зарезервированными или проблемными словами в C # и / или Ruby, двух языках, которые я могу использовать для программирования в соответствии с моей новой схемой базы данных в будущем.

Итак, чтобыво избежание возможных конфликтов с этими языками, я ищу альтернативные имена для этих имен полей в моих таблицах.

В данном случае это из моей таблицы машин, где у меня есть:

«поле «класс» (значения будут выглядеть как «ручное» или «компьютеризированное»)

и

поле «тип» (значения будут «токарный» или «фрезерный»)

Я мог бы назвать поля «machineclass» и «machinetype», но это не согласуется со схемой именования в остальной части моей схемы (то есть я не использую повторно имя таблицы в поле… Например, я использую Machine.name, а не Machine.machinename)

Есть мысли об этом безумии?

Ответы [ 7 ]

3 голосов
/ 11 ноября 2010

Вы можете добавить некоторую избыточность и назвать их «type_id» и «class_id», или «type_name» и «class_name».

1 голос
/ 11 ноября 2010

Поскольку я говорю на двух языках (английском и испанском), я использую: clase = class, tipo = type или, если я хочу сохранить все на английском, я выберу синоним, например: category = class, kind = type. Я также объединяю _v1 _v2 _v3 ... с именами столбцов при внесении изменений или новых версий в мои приложения, которым требуются новые столбцы для более легкого документирования моего кода.

1 голос
/ 11 ноября 2010

Simple.это происходит и в SQL все время.Для этой конкретной проблемы вам нужно присвоить имя, не нарушая при этом большего соглашения об именах, которое вы выбрали.

Наше соглашение об именах (которое имеет ту же проблему, что и ваше, решено) будет диктовать что-то вроде этого.Легко читается и понимается, но также указывает, что мы избегаем зарезервированного слова confilct:

Класс
Тип

У нас уже есть:

Rowss
Countt

MachineClass и MachineType будут неправильными.

0 голосов
/ 11 ноября 2010

На самом деле я не вижу проблем с полями базы данных, называемыми «тип» или «класс» - по крайней мере, с точки зрения C #.Большинство картографов ORM генерируют классы со свойствами, называемыми «тип» и «класс», что допустимо.Если вы используете DataReader, вы будете использовать индексатор, а имена полей будут передаваться в виде строк.

Я не могу вспомнить ни одного случая, когда имя поля вашей базы данных будет «конфликтовать» с ключевым словом C #.

0 голосов
/ 11 ноября 2010

как правило, мы решаем это путем добавления _id

так что таблица поиска будет иметь Machine_Types.type_id, Machine_Types.name

и Machine.type_id легко повяжутся на join Machine_Types using(type_id)

0 голосов
/ 11 ноября 2010

Не лучшее решение, но C # чувствителен к регистру.У вас может быть переменная или класс с именем Class или Type, и он не будет конфликтовать с классом или типом зарезервированных слов.

0 голосов
/ 11 ноября 2010

Klass - это распространенное опечатка в классе, которую можно использовать.Я не уверен, что существует хорошая орфографическая ошибка типа.

Klass может использоваться Ruby On Rails, хотя я не уверен.Я бы дважды проверил это перед использованием klass, так как я не хотел бы скрывать его переменные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...