2009-05-07 8 views
0

SubSonicでselectステートメントを実行するときにフィールドの名前を変更する方法はありますか?私は >私一覧<のMyClassを埋めるためにExecuteTypedList < MyClassの>方法を使用していますが、オブジェクトのMyClassのプロパティは、DBテーブルから列名など、すべて同じではありません。 SQLではcol1を 'FirstColumn'、col2をMyTableの 'SecondColumn'として選択してください。は、SubSonicで同様のことを行う方法はありますか?SubSonic selectステートメントのフィールドの名前を変更します。

答えて

1

エイリアスは集約カラムでのみ使用可能です。 あなたは自分のクラスにあなたの列と同じ名前のプロパティを追加したり、部分的に、あなたは計算フィールドたala使用しないプロパティにマップできます。

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

先日私は同じ必要性があり、SubSonicのローカルコピーにその機能を追加しました。私はthis issueに添付されたパッチを提出しました。パッチを適用すると、

new Select(Table1.IdColumn.AliasAs("table1ID"), 
Table2.IdColumn.AliasAs("table2ID")) 
       .From(Table1.Schema) 
       .InnerJoin(Table2.Table1IdColumn, Table1.IDColumn); 
のようなクエリを書くことができます
関連する問題