テーブルをオブジェクトにマップすると、作成されるすべてのプロパティが 1 つの db 列に対応します。プロパティにマップされる前に列で db 関数を実行したいので、プロパティは列ではなく db 関数によって返された値を取得します
私は ColumnAttribute の Expression プロパティによってそれを達成しようとしていました (以下の例のように)、代わりにBirthDate
がusrFn_UTCToLocalTime(BirthDate)
返されますが、機能していないようで、列の純粋な値を取得します。
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_BirthDate", DbType = "DateTime", UpdateCheck = UpdateCheck.Never, Expression = "dbo.usrFn_UTCToLocalTime(BirthDate)")]
public System.Nullable<System.DateTime> BirthDate
{
get
{
return this._BirthDate;
}
}
また、DBML XML を次のように変更しました: stackoverflow に関する他の投稿 ですが、結果もありません。
それは LINQ を使用することで可能ですか、それともサーバーへの往復コストがかかるゲッターを上書きする必要がありますか?