2012-04-19 4 views
0

私はEF Codefirstを調査しています。私はCode/SB同期の利点が好きですが、テーブルが削除されてデータが失われてしまうのは困ります。実際、私の開発DBにはかなりのテストデータが含まれている可能性があります。 "テーブルを変更する"のように、この "テーブル落ちる"の代わりがありません。EFコードまず、テーブルをドロップすると非常に劇的に見える

私はEFコードファーストを私に任せます。

おかげで、

エド

答えて

4

はどうやらあなたは多くの調査をしませんでした。実際には、テーブルを削除せずに(手動で変更を加えるなど)コードを最初からやり直す方法はたくさんありますが、コード・ファースト・マイグレーションはかなりの期間中です。

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx

これは物事の任意の他の方法と何が違うのであるようにそうではありません。最初にデータベースを使用する場合は、データベースを手動で変更する必要があります。また、モデルをモデルに再生成するためにテーブルを削除する必要があります。

これは、最初のコードでは何も具体的でも奇妙でもありません。これは、すべてのormテクノロジで動作する方法です。

+0

ありがとうございます。私はEFとMVCについて学習していますが、私の教材の多くはEF4.1を指しています.EF4.3を使用するはずです。 DBの最初の設計の背景で私の自然な傾向は、DBの最初のEFのアプローチを行うことですが、EFコードファーストがMVC3でそれを行う方法であるようです、そして、私は "CF Migrations" "DBではなく削除するので、このポインタのおかげで。 – EdB

+0

@EdB - これはすべてのデータベース技術にとっては通常のことですが、何かと同じ問題があるので、最初にコードを取り除いてはいけません。 Code Firstは「MVC3でやる方法」ではなく、これを行う方法の1つに過ぎず、新しいことから多くの注目を集めています。どの方法を使用するかは、自分の好みによって決まります。 –

+0

同じクラスファイル内のすべての検証属性とデータ定義を管理しているので、より良い方法と考えていました。しかし、DBデザイナーとして、私はE.Relationshipデザイン面のようなものでDB設計プロセスを開始したいと考えていますが、モデルクラスファイルに残っているので、検証属性を上書きしないように注意しなければなりません。あなたが親密なので、それは異なるアプローチで遊んで、私のために何が正しいと感じるかを見ているかもしれません。 – EdB

関連する問題