SubSonic генерация таблиц с колонками как ColumnX - PullRequest
0 голосов
/ 27 августа 2010

Это не имеет особого смысла для меня. Это случалось дважды, когда генерация объектов SubSonic для таблицы базы данных или столбцов представления была переименована в ColumnX. В первый раз это имело смысл, потому что имя столбца - Value, ключевое слово C #. Но во второй раз это произошло, имя столбца таблицы - Grade, которое не является ключевым словом или зарезервированным словом. Кто-нибудь знает, почему SubSonic превращает имя этого столбца в GradeX, когда генерирует объекты?

Спасибо.

1 Ответ

0 голосов
/ 28 августа 2010

Это, как вы и предполагали, заменить слова, чтобы они не конфликтовали с типами .Net или SQL. Не забывайте, что SubSonic общается с различными поставщиками БД, так что, хотя «Grade» не является типом MSSQL, возможно, это Oracle или MySQL и т. Д. *

В SubSonic.Utilities.Utility это метод с именем KeyWordCheck, который выполняет добавление.

Возможно, вы можете скомпилировать свою собственную версию и изменить этот метод, чтобы исключить "Оценка":

  public static string KeyWordCheck(string word, string table, DataProvider provider)
        {
            string appendWith = "X";
            if (provider.AppendWith != string.Empty)
                appendWith = provider.AppendWith;

            return KeyWordCheck(word, table, appendWith);
        }
...