0

Linq-To-Sqlに使用されるエンティティクラスを強く型付けしました:

[Table(Name = "_Reference2")]
public class Customer
{
    [Column(Name = "_IDRRef")]
    public Binary Reference { get; set; }
    [Column(Name = "_Fld196")]
    public string Account { get; set; }
    // and so on...
}

しかし、同じタイプのエンティティ()を持つデータベースが増えることがわかりましたCustomerが、テーブル名と列名は異なり、テーブル構造もわずかに異なる場合があります(データ型など)。

データベース名に応じてこのクラスへの呼び出しを動的にマップする方法はありますか?テーブルと列の名前を動的に変更できますか?そのような状況でのベストプラクティスは何ですか?

コードの変更を「データドメイン」プロジェクトに限定し、ソリューションのWebUI部分はそのままにしておきたいと考えています。

PS:データベースはサードパーティのソフトウェアからのものであり、私たちはそれらを制御していません(構造の変更は許可されていません)。

4

1 に答える 1

0

XML でマッピングを使用して、その XML をオンザフライで発行できます。もちろん、これにはいくつかの制限があります。テーブルの構造とデータ型は、エンティティとほぼ一致する必要があります。そうでない場合は、新しいクラスも必要になります。

于 2012-08-08T14:10:12.597 に答える