私はデータベースとO/R-Mapperによって作成されたエンティティセットを持っていますが、これをLINQですべて使用しています。実行時にLINQ O/R-Mのテーブル名/ソースを変更する方法は?
O/R-Mapperでは、すべてのテーブルのテーブル名(ソース)を入力する必要があります。これはLINQによって生成されたSQLに使用されています。 .dbmlファイルでは、次のようになります。
<Table Name="dbo.Customers" Member="Customers">
は、今私はSQLは、(例えば、代わりに顧客のcustomers2008)を他のいくつかのテーブルに対して実行されますので、実行時にこのテーブル名を変更したいと思います。
実行時にテーブル名(ソース名)を変更する方法はありますか?
[更新]私は、XmlMappingSourceがデータベースに永続化されていない計算されたプロパティをレンダリングできないことを発見しなければなりませんでした(はい、SqlMetalによって作成されたマッピングでも永続化されないものはすべて無視されます)。あなたはこのような何かをする必要があると思います...の
私は実行時にこのマッピングファイルを作成する方法が必要なので、マッピングファイルをデータクラスと一直線に並べる必要はありません。 – Sam
まあ、私はこれらのファイルを作成することができましたが、残念ながら期待通りに動作しません。今は時間を無駄にしています。 – Sam
実行時ではなくポストビルドイベントでXMLマッピングを作成することをお勧めします。 – jrummell