Мне не хватает функциональности на SubSonic 3 - PullRequest
0 голосов
/ 18 июля 2009

Я начинаю делать некоторые тесты на SubSonic 3, и мне не хватает некоторых вещей.

1-й: Где константы имен таблиц? Место, где мы могли бы попросить тот же самый стол, используя intelisense ...

2-й: То же, что и выше, но для столбцов таблицы ... где они? Это очень полезно в основном, когда вам нужно передать эти имена в виде строки ... если вам нужно реорганизовать вашу БД, нам не нужно просматривать весь код, чтобы найти, где я использовал этот столбец !! Как только вы сгенерируете код, компилятор сообщит вам!

3-й: Теперь, как я могу выполнить ExecuteReader для определенной таблицы, как я привык к 2.x через объект Query? Я часто использовал это для списка, где мне действительно не нужны служебные объекты (BO) ... Когда мне нужно BO (для отображения деталей строки сетки), я создаю его из самой строки ...

Я использую ActiveRecord, кстати ...

Спасибо, ребята! Alex

Ответы [ 2 ]

1 голос
/ 20 июля 2009

1-й: Где константы имен таблиц? Место, где мы могли бы попросить тот же самый стол, используя intelisense ...

В Structs.tt найдите следующую строку кода в строке 47:

<#          foreach(var col in tbl.Columns){#>

Добавьте следующий код над ним:

public static string TableName { get { return "<#=tbl.Name#>"; } }

Теперь у вас будет свойство, которое возвращает имя таблицы.

2-й: То же, что и выше, но для столбцов таблицы ... где они?

В сгенерированном файле Structs.cs он включен в версию 3.0.0.3

3-й: Теперь, как я могу выполнить ExecuteReader для определенной таблицы, как я привык к 2.x через объект Query? Я часто использовал это для списка, где мне действительно не нужны служебные объекты (BO) ... Когда мне нужно BO (для отображения деталей строки сетки), я создаю его из самой строки ...

Если вы используете объект SqlQuery, вы можете вызвать к нему ExecuteReader. В качестве альтернативы вы можете использовать синтаксис Linq для генерации возвращаемых объектов произвольной формы, и они будут отображаться автоматически.

0 голосов
/ 18 июля 2009

1-й и 2-й: это не реализовано в tt-файлах по умолчанию.

Аналогичный вопрос: SubSonic 3 Simple Query Tool

Проблема в том, что это неправильная реализация, если вы хотите 2.x - свойства XColumn раньше были объектами столбцов, а не строковыми константами, которые были найдены в структуре Columns. Поэтому я надеюсь, что регистрация не будет принята и что кто-то сделает 2.x-ify правильно.

В любом случае, как вы можете видеть, это довольно легко исправить самостоятельно.

...