4

既存のMSSQLデータベースを使用してEFCodeFirst駆動型アプリケーションを構築しています。コード生成を完全に制御する必要があるため、モデルとdbcontextを構築するためにパワーツールやウィザードベースの自動コード生成ユーティリティを使用する必要はありません。

私の質問は、モデルを構築するとき(コンテキストではdbset()プロパティとして終了します)、モデル内の既存のSQL列にどのようにアプローチする必要があるかということです。データベースで「NotNullable」に設定されているすべてのdb列のモデルクラスにプロパティを追加する必要がありますか?モデルにdb列に対応するいくつかのプロパティを省略した場合、EFは何をすべきかを知っていますか?これがどのように機能するかわからず、既存のdbフィールドマッピングへのCFモデルへの直接の答えでリソースを見つけるのに少し問題があります。誰かがこのプロセスを明確にするのに役立つ情報を持っていますか?

どんな助けでも大歓迎です、そしてありがとう!

4

2 に答える 2

0

ハイブリッド アプローチを使用し、データ ファースト モデルから始めて、コード ファースト アプローチを使用して新しいエンティティを追加します。

エンティティがマップ先のデータベース エンティティと一致しない場合、EF は例外をスローします。

于 2012-12-20T15:36:09.430 に答える
-2

これは、私がこれまで EF で作業した唯一の方法であり、問​​題はありませんでした。オブジェクトのプロパティが null の場合、EF は DB に null 値を書き込みます。また、すべての列をエンティティで表す必要はありません (もちろん、必要なすべての列が存在する必要があるか、挿入を行う場合は DB レベルでデフォルト値が必要です)。この種の質問に関する情報を見つけるのが難しい理由は、これが ORM だけが行っていることであり、うまく機能しているためだと思います。最初のエンティティを作成して使用し、発生する問題を確認することをお勧めします。あなたが今立っているところから考えるよりも、ずっと簡単になるでしょう。

于 2012-12-20T15:36:19.137 に答える