0

ここで髪を引き裂きます。コード ファースト アプリケーションの UserProfile テーブルにエンティティ タイプ ("Customer" など) をリンクしようとしています。ドメイン情報を自動生成された UserProfile テーブルに入れたくありません。ドメイン テーブルに入れたいのです。

ドメイン クラスの抽象ベースにを追加しましたpublic virtual UserProfile UserId { get; set; }が、update-database は言い続けますNo pending code-based migrations.

私はまだ開発の初期段階にあり、保持したいデータベースには何もありません。移行を「すべてを忘れて」最初からやり直すための「核オプション」はありますか? update-database -targetmigration:0私にはあまり効果がないようです。

編集:データベースを壊して最初からやり直し、フィールドを抽象クラスから具象クラスに移行しました。ボブはあなたの叔父です。大量の複製されたフィールドと、2 つの「異なる」型 (実際には同じ) を処理するための多数の複製されたコードを含む、このひどい型のコレクションがあります。

これは、間違いなく、テクノロジー BAR NONE で経験した中で最悪の経験でした。

私の質問は、記事を読んだり、Pluralsight のビデオを見たり、レンガの壁に何度も頭をぶつけたりして 1 週間経った後、人々は実際にこのテクノロジーをどのように扱っているのでしょうか? これはひどいです。

4

1 に答える 1

1

これが ORM への最初の冒険である場合は、使用するフレームワークに関係なく、イライラすることが予想されます。ORM は、理解するのが難しい場合があります。OOP と正規化されたデータベース テーブルの間を移動しています。少し練習が必要です。

エンティティ フレームワークの優れた点は、ほとんどの場合、関係を自分でマッピングする手間が省けることです。NHibernate でこれを実行できるかどうかまだわかりませんか?

欠点は、EF が時々間違ってしまうことであり、一体何が起こったのかを整理するのが難しい場合があります。慣習に大きく依存していますが、それらが何であるかを知っていれば、それは非常に簡単です。

コーディングを始めたばかりのときと同じように、「null ポインター例外は何を意味するのだろう!」と感じました。方位をつかむには少し時間がかかります。ある程度練習すれば、開発時間が本当に短縮されます。

モデルを投稿してみてください。正しい軌道に戻るお手伝いができるかもしれません。

于 2012-12-28T17:44:26.840 に答える