2009-05-07 13 views
0

Gibt es eine Möglichkeit, Felder umzubenennen, wenn eine Select-Anweisung in SubSonic ausgeführt wird? Ich bin mit dem ExecuteTypedList <MyClass> Methode meiner Liste <MyClass> Objekt aber die Eigenschaften von MyClass zu füllen sind nicht alle gleich, wie die Spaltennamen aus der DB-Tabelle. In SQL kann ich tun wählen Sie col1 als 'FirstColumn', col2 als 'SecondColumn' von MyTable, gibt es eine Möglichkeit, etwas Ähnliches in SubSonic?Felder in SubSonic-Select-Anweisung umbenennen

Antwort

1

Ich glaube, Alias ​​sind nur für Aggregat-Spalten verfügbar. Sie könnten nur Eigenschaften der gleichen Namen wie Ihre Spalten zu Ihrer Klasse hinzufügen oder eine teilweise und ordnet sie zu den Eigenschaften, die Sie ala berechnetes Feld verwenden Sie:

public class Songs 

{

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

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

}

1

Ich hatte das gleiche Bedürfnis neulich und fügte die Funktionalität meiner lokalen Kopie von SubSonic hinzu. Ich habe gerade einen Patch für ihn an this issue beigefügt. Wenn Sie den Patch anwenden, können Sie eine Abfrage wie

new Select(Table1.IdColumn.AliasAs("table1ID"), 
Table2.IdColumn.AliasAs("table2ID")) 
       .From(Table1.Schema) 
       .InnerJoin(Table2.Table1IdColumn, Table1.IDColumn); 
schreiben