2012-02-22 21 views
2

MVCに複数のテーブルを持つデータベースを構築しようとしています。 私はテーブル属性でmodel.csを構築し、Entity Frameworkにそのことをさせました。 今、同じデータベースに新しいテーブルを作成してリンクしたいと思います。'既に作成されたデータベース'にテーブルを追加する

私は前のテーブルが存在するデータベースに "新しいテーブルを作成"しようとしました。これは、型不一致例外、無効なキー例外などを渡します。

モデル内に新しいクラスを追加してコンテキストに結びつけていますが、どちらも役に立ちません...

コードは次のようになります....


namespace bleh.bleh 
{ 
    public partial class T1 
    { 
     //.....attributes primary key 
    } 

    public class T2 
    { 
     //...attributes foreign key to T1 
    } 

    public class TEntity : DbContext 
    { 
     public DbSet<T1> Tab1.... 
     public DbSet<T2> Tab2.... 
    } 
} 

ここで私が見つけた解決策だ...

+0

EFには、モデルの変更に合わせてデータベースを更新する方法はありません。おそらく、データベースを削除して再作成し、保存したいデータを必ずバックアップする必要があります。 – Dave

+0

@john:thx bro !! 私はデータベースを再構成するためにNHibernateを統合することを検討していました。 – aromore

+1

これはEF 4.3ですか?もしそうなら、あなたは[コードベースの移行](http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations- walkthrough.aspx)。 –

答えて

0

を教えてください:グローバルのてstartApplication方法に以下の行を追加します.asaxファイル:

Database.SetInitializer<FTContext>(new DropCreateDatabaseIfModelChanges<FTContext>()); 
関連する問題