SubSonic 3 Простой инструмент запросов - PullRequest
0 голосов
/ 10 июля 2009

Я хочу использовать инструмент Simple Query в SubSonic 3 (.0.0.2) и страницу документации (http://subsonicproject.com/docs/Simple_Query_Tool) подразумевает, что есть способ легко получить имена столбцов таблицы (например, Product.ProductNameColumn):

int records = new Select(Product.ProductIDColumn, Product.ProductNameColumn).
                From<Product>().GetRecordCount();

Генерируемый класс ActiveRecord, по-видимому, не предоставляет эту информацию - отсутствует свойство ProductIDColumn. Это зависание от версии 2?

1 Ответ

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

В настоящее время нет способа получить имена столбцов в SubSonic 3. Вы по-прежнему можете использовать простой инструмент запросов со строками или, если вы измените шаблон Structs.tt, вы можете получить их для себя. Найдите этот фрагмент кода (я думаю, что это строка 45):

<# foreach(var col in tbl.Columns){ #>
    public IColumn <#=col.CleanName#>{
      get{
        return this.GetColumn("<#=col.Name#>");
      }
    }            
<# }#> 

и измените его так, чтобы он выглядел так:

<# foreach(var col in tbl.Columns){ #>
    public IColumn <#=col.CleanName#>{
      get{
        return this.GetColumn("<#=col.Name#>");
      }
    }

    public static string <#= col.CleanName #>Column{
      get{
        return "<#= col.Name #>";
      }
    }

<# }#>   

Тогда вы должны автоматически сгенерировать все имена столбцов как статические свойства.

...