2011-02-07 13 views
0

本当に簡単な質問。私が行ってきたデータ構造の変更の一部として、Entity Frameworkセットの1つのマッピングをビューからデータベーステーブルに移動しました。この作業を迅速に行い、概念証明を確実にするために、私はDBテーブルの名前を期待されたエンティティセット名と一致するように変更し、次に他の変更を加えました。エンティティセットの実際の名前を変更すると、コードの不一致(したがってエラー)のリップルが発生しました。Entity Frameworkでエンティティセットの名前をテーブルと異なるようにすることはできますか?

これはうまくいきました。私は新しいコードに満足しています。しかし理想的には、私たちのライブサーバー上のテーブルの名前ではなく、マッピングを変更できる方が好きです。 Setの名前とDBテーブルの名前が一致せずに、Entity Setマップをテーブルに作成できますか?

乾杯、 マット

答えて

2

はい。データモデルXMLを直接編集することができます。デザイナーでは、Propertiesウィンドウを使用してエンティティセットの名前を編集し、Mapping Detailsウィンドウを使用してマッピングを編集することができます。 [マッピングの詳細]ウィンドウで、マッピングするテーブルを選択し、列をプロパティにマップします。

+1

私は混乱しています。私はテーブルマッピングに行くとき、それは私に1つのオプションを与え、それはデータセットを駆動する古いViewの名前です。どのように/私は必要なオプションを与えるためにこれを変更するのですか? –

+0

@Matt:エンティティデータモデルのストレージレイヤにテーブルを取得する必要があります。これを実行する最も簡単な方法は、エンティティデザイナのコンテキストメニューから[Update Model From Database]コマンドを実行し、新しいテーブルを選択することです。これにより、新しいテーブルに追加のエンティティが追加されます。実際にこのエンティティを使用する必要はないので、デザイナで削除することができます。しかし、そのアクションがテーブルスキーマをストレージレイヤーにロードしたので、マッピングの詳細ウィンドウを使用して元のエンティティのマッピングを変更できるようになりました。 – NYSystemsAnalyst

+0

ああ。ありがとうございます - 私は元の存在を保つ必要があると私は仮定していました。しかし、それでも私はDBテーブルと私の元のコード参照の両方を損なわれないようにしています。エンティティセット名を変更すると、既存のコード内のエンティティセットへの参照はすべて変更する必要があります。私はもちろんそうすることができますが、私はそれを避けることを望んでいました。おそらくそれは不可能です。しかし、試してくれてありがとう。 –

4

はい。

デザイナでエンティティを選択し、プロパティウィンドウでEntity Set Nameを変更するだけです。

あなたは何でも好きなものを呼び出すことができます。

+0

これはまた、DbContextのDbSetプロパティの名前を変更します。これは、誰もが望むものではありません。 – anon

0

エンティティでテーブル属性を使用できるようにする必要がありますか?

[Table(Name = "MY_TABLE")] 
public class MyTable 
{ 
    //... 
} 
+0

これは役に立つと思われますが、MSDNでドキュメントが見つかりません。私が見ることができるものはありますか? –

+0

いいえLINQ to SQL用です。それはEFにとっては役に立たない。 –

+0

これは、コードの最初のデータベースモデルに便利です –

関連する問題