EFコアマイグレーションを使用している場合、ツールはすべてのプロパティを取得せず、FK(ナビゲーションプロパティ)の「Id」と一部(すべてではない)のみを取得します。 "階層あたりのテーブル"も非常によく理解されているようです - 私が望んでいたディスクリミネータを設定していますが、マイグレーションファイル自体がモデルネームスペース(githubコードを参照)にあるプロパティを反映していません。EFコアマイグレーションですべてのプロパティが選択されない
マイDbContextはここに置かれています。ここhttps://github.com/aredfox/TheConference/blob/master/InfoBooth/TheConference.InfoBooth.Data/InfoBoothContext.cs 私のモデルクラス:https://github.com/aredfox/TheConference/tree/master/InfoBooth/TheConference.InfoBooth.Core/Model
あなたは[https://github.com/aredfox/TheConference/blob/master/InfoBooth/TheConference.InfoBooth.Data/Migrations/20170604125116_Initial.cs]で生成された "最初の移行" で見ることができます。ここで、すべてのIdプロパティ(基本クラス[Entity][1]
で定義されています)が検出されたことがわかりますが、Model classesという他のプロパティはありません。
移行を実行するためのコンソールアプリケーションを追加する方法を使用しました(そうでないと動作しません - Julie Lerman's tipsを参照してください)。したがって、移行を実行する場合、私はこのようにします:dotnet ef --startup-project ../../TheConference.Infrastructure.ConsoleApp migrations add Initial
。
私はEFは私が撮りたいものを知っているように注釈またはModelBuilderのまたはEFCoreでEntityTypeConfigurationのフォームを使用する必要がありますか?。
もう少し追加するには、プリミティブプロパティ&リファレンスナビゲーションプロパティにセッターが必要です。コレクションのナビゲーションにはセッターは必要ありません。 (コンストラクタ内のコレクション初期化子またはデフォルト値を書き込むのは、ユーザにとって共通のパターンです)。 インターフェイスに設定済みの&コレクションのナビゲーションがマップされているため、IDが一致しました。 – Smit
ありがとう。流暢なAPIでそれらをcfg'ingときにそれだけでもそれを理解する私は彼らが読んでいたエラーメッセージを得て、そして私のペニーは落ちた...答えに感謝!愚かな間違い、私は見落とした。 –
あなたは歓迎です、仲間。時々、私たち全員に起こります:) –