2012-02-13 8 views
0

エンティティモデルに既にマップされているXという名前のテーブルがあります。テーブルの名前をデータベースのYに変更し、エンティティモデルのYを変更します。エンティティフレームワークテーブル名の変更

これを行う最も簡単な方法は何ですか?

+0

返信された人だけでなく、.edmxファイルを編集することもできます。しかし、私はそれをやり遂げて成功しました - 私はいつも何かを見逃してしまい、壊れた.edmxで終わりました。それを試してみたい場合は、バックアップがあることを確認してください。テーブルを削除して更新するのが最も簡単です。しかし、ナビゲーションプロパティ(名前、タイプ、IDとエンティティの結合など)に対して行ったカスタマイズはすべて失われます。 – Rup

答えて

0

が削除削除する最善のことですか?

emanエンティティの場合はyesです。あなたがデータベースの最初のアプローチを使用していると仮定し、あなたのモデルは多くの再構成を必要としません。モデルをdbから更新すると、あなたはうまくいきます。

1

解決策は、接続しているデータベースに基づいてDbContextクラスのメソッドをオーバーライドすることです。

public class YourDbContext : DbContext 
{ 
    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Entity<Product>().ToTable("yourNewTableName"); 
    } 
}