Переименование полей в SubSonic select - PullRequest
0 голосов
/ 07 мая 2009

Есть ли способ переименовать поля при выполнении оператора select в SubSonic? Я использую метод ExecuteTypedList для заполнения моего объекта List , но свойства MyClass не совпадают с именами столбцов из таблицы DB. В SQL я могу выбрать col1 как «FirstColumn», col2 как «SecondColumn» из MyTable , есть ли способ сделать что-то подобное в SubSonic?

Ответы [ 2 ]

1 голос
/ 08 мая 2009

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

new Select(Table1.IdColumn.AliasAs("table1ID"),
Table2.IdColumn.AliasAs("table2ID"))
                .From(Table1.Schema)
                .InnerJoin(Table2.Table1IdColumn, Table1.IDColumn);
1 голос
/ 07 мая 2009

Я считаю, что псевдонимы доступны только для агрегированных столбцов. Вы можете просто добавить свойства с теми же именами, что и ваши столбцы, в ваш класс или часть и сопоставить их со свойствами, которые вы используете, используя вычисляемое поле:

public class Songs

{

private string _songTitle;
public string SongTitle {
    get { return _songTitle; }
    set { _songTitle = value; }
}

public string SongName {
    get { return _songTitle; }
    set { _songTitle = value; }
}

}

...