私は mvcmusicstore の練習チュートリアルを行っています。アルバム マネージャーのスキャフォールドを作成しているときに、あることに気づきました (追加、削除、編集)。
コードをエレガントに書きたいので、これをきれいに書く方法を探しています。
ちなみに、ストアをより汎用的にしています:
アルバム = アイテム
ジャンル = カテゴリ
アーティスト = ブランド
インデックスを取得する方法は次のとおりです (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);
ベストアンサー1
Include()
最初に を使用し、結果のクエリから単一のオブジェクトを取得できます。
Item item = db.Items
.Include(i => i.Category)
.Include(i => i.Brand)
.FirstOrDefault(x => x.ItemId == id);