[解決済み] C# Entity-Framework。モデルオブジェクトの.Findと.Includeを組み合わせるにはどうすればよいですか?
2022-04-22 10:52:45
質問
mvcmusicstoreの練習用チュートリアルをやっています。アルバムマネージャー(add delete edit)の足場を作成する際に気づいたことがあります。
私はコードをエレガントに書きたいので、これをきれいに書く方法を探しています。
参考までに、私はストアをより一般的なものにしています。
アルバム=アイテム
ジャンル=カテゴリー
アーティスト=ブランド
以下は、インデックスの取得方法です(MVCで生成)。
var items = db.Items.Include(i => i.Category).Include(i => i.Brand);
以下は、削除対象の項目を取得する方法です。
Item item = db.Items.Find(id);
最初のものは、すべてのアイテムを戻し、アイテムモデル内のカテゴリとブランドモデルに値を入れます。2番目のものは、カテゴリとブランドを入力しません。
どうすれば、2番目のものが検索を行い、中のものを取り込むように書けるでしょうか(できれば1行で)...理論的には、次のようなものです。
Item item = db.Items.Find(id).Include(i => i.Category).Include(i => i.Brand);
解決方法は?
を使用することができます。
Include()
を最初に実行し、その結果得られたクエリから単一のオブジェクトを取得します。
Item item = db.Items
.Include(i => i.Category)
.Include(i => i.Brand)
.FirstOrDefault(x => x.ItemId == id);
関連
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み] 'IEnumerable<SelectListItem>' 型の ViewData アイテムで、キーが国であるものは存在しない。
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み] 関数を終了するには?
-
[解決済み] UnixのタイムスタンプをDateTimeに、またはその逆に変換するにはどうすればよいですか?
-
[解決済み] Entity Frameworkで生成されたSQLを表示するにはどうすればよいですか?
-
[解決済み] Entity Framework - 複数レベルのプロパティを含める
-
[解決済み] Entity Frameworkで複数行を削除する方法(foreachを使用しない)
-
[解決済み】Entity Frameworkと接続プーリング
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み] [Solved] 不正な文字列値: '\xEFxBFxBD' for column
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み】Unity 「関連するスクリプトを読み込むことができません」「Win32Exception: システムは指定されたファイルを見つけることができません"
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み】Nullableオブジェクトは値を持たなければならない?