Простые проблемы с поколением SubSonic 3

Я пытаюсь сделать доказательство концепции с помощью SubSonic 3, но сразу же я сталкиваюсь с многочисленными ошибками с генерацией. Я начал вносить изменения в настройки генератора, но это кажется немного странным, когда я просто пытаюсь сделать простое отображение моей БД один в один.

Во-первых, я нашел SP, у которого в качестве имени параметра SP был @delagate, это было легко исправить, но, вероятно, должно быть в стандартных шаблонах, поскольку пользователю не нужно вносить изменения в шаблон для этой простой проблемы.

Затем я обнаружил, что система задыхается от двух таблиц, и попытался создать подписи так же, как таблицы, в которых поля поля

теперь я знаю, что у SubSonix 2 было свойство fixPluralClassName, но с ошибкой, если я смогу найти его в шаблоне для SubSonic 3

Любая помощь в этом поможет мне начать


person cdmdotnet    schedule 25.09.2009    source источник
comment
Было бы полезно, если бы вы указали, какой набор шаблонов вы используете.   -  person womp    schedule 25.09.2009
comment
К сожалению, БД - это MS SQL 2008, поэтому шаблон Sql создается в С #   -  person cdmdotnet    schedule 25.09.2009
comment
Я также нашел несколько областей, в которых: если на столбец ссылается суффикс X, то не все ссылки на него имеют правильный суффикс X IE ActiveRecord.tt имеет if (tbl.ClassName == col.CleanName) {col.CleanName + = Х; }, но не имеет того же для открытого объекта KeyValue () {return this. ‹# = tbl.PK.CleanName #›; } публичное переопределение int GetHashCode () {вернуть это. ‹# = tbl.PK.CleanName #›; } и несколько других, в этом комментарии нет места для   -  person cdmdotnet    schedule 25.09.2009


Ответы (1)


Обычно добавление / подстановка типов «X» и «Datum» происходит, когда вы использовали «зарезервированное» слово в имени столбца или таблицы. В данном случае «Зарезервировано» - это слово, которое Subsonic не любит использовать для объектов данных.

Я следую нескольким правилам:

  1. Убедитесь, что и имена таблиц, и имена столбцов не являются «зарезервированными» словами (например, «Data», «Int» или «Table»).
  2. Убедитесь, что у каждой таблицы есть первичный ключ
  3. Не используйте типы столбцов даты и времени, поскольку они еще не поддерживаются (DateTime, только не типы даты и времени)
  4. Нет столбца с тем же именем, что и у таблицы

Может оказаться полезным часто задаваемые вопросы по дозвуковому оборудованию.

person CmdrTallen    schedule 13.10.2009