2016-04-25 20 views
2

わかりやすい回答がありましたら申し訳ありませんが、私は一日を費やしてその件に関するリソースを探しています。 EF7の基本的なこと。Entity Framework 7およびASP MVC 5 - 簡単なタスク

ここに私の質問があります。

私はASP MVC 5(VNEXT)のWebサイトを持っています。私はEntity Framework 7を使用しています。私は既存のデータベースを持っています。

これまでのところすべてうまくいきました。私は自分のDNX EFコマンドを稼働させるために必要なものすべてをインストールしました。私はdbContextを足場にし、クラスとdbContextクラスとしてすべてのテーブルを取得しました。

すべて大丈夫です。私は幸せで、私の仕事を続けていました。 しかし、jQueryの邪魔にならない検証を使用しているため、生成された(テーブル)クラスのいずれかのプロパティを作成する必要がありました。 FluentAPIでプロパティが().IsRequiredとしてマークされている、このソースによると、http://ef.readthedocs.org/en/latest/modeling/required-optional.html

私の最初の不思議がある:

は、私が参照として次のリソースを持っています。私は信じています、ここで必要とすることは、目立たない検証とは関係のない全く別のものです。したがって、次に説明するのは簡単です。あなたのクラスに行き、必須のデータアノテーションを追加します。

これはすべて問題なく機能し、追加した後は正常に動作します。 しかし、私は直ちに疑問を抱いていました.-生成されたクラスを変更していますが、モデルを更新すると変更を失うことはありませんか?

私は最終的な問題に繋がります。私は長い間検索しましたが、DNX EFのヘルプメニューでもプレイしましたが、変更後にdbContextとモデルを更新する正しい方法を見つけることができませんデータベースに転送します。

私はこれを非常に些細なことと信じていましたが、驚いたことに、アップデートの方法を説明するリソースを見つけることができません。

データベーススキーマを変更した後、EF生成モデルとコンテキストを更新する方法を教えてください。また、生成されたクラスのプロパティにアノテーションを追加する最適な方法は何ですか?

+0

DTO(データ転送オブジェクト)を読み込み、MVCフレームワークのモデルとして使用します。エンティティをMCVモデルとして使用しないでください –

答えて

3

ユーザーからの入力としてデータベースエンティティを直接使用しないでください。代わりに、ViewModelを使用して検証ルールに対してそれらを検証し、それらをデータベーストランザクションにマップします。

+0

ありがとう、私はViewModelsを使うべきであることを覚えています。しかし、私が変更を加えた後にモデルを更新する方法はありますか? – astian

+0

MVC 6でMVVMを使用する方法については、良いリソースはありますか? –

+1

ビューモデルを使用していてもMVCです。 MVVMは実際のサーバーのシナリオで実際には動作しません。コントローラ内のビューモデルからモデルを更新するだけです。 @astianには、AutoMapperと呼ばれるナゲットパッケージがあります。 –

1

私はMetadataアプローチを使用して割り当てを助けるViewModelsを使用するので、私はデータベースを最初に使用し、データベースを更新することは大きな頭痛です。

関連する問題