[解決済み] Entity Framework - 複数レベルのプロパティを含める
2022-03-22 13:33:53
質問
Include()メソッドは、オブジェクト上のListsに対して非常によく機能します。しかし、2 段階の深さに移動する必要がある場合はどうすればよいでしょうか? 例えば、以下のメソッドは、ここに示すインクルードプロパティを持つApplicationServersを返します。しかし、ApplicationsWithOverrideGroupは、他の複雑なオブジェクトを保持する別のコンテナです。そのプロパティに対してもInclude()を実行できますか?または、そのプロパティを完全に読み込むにはどうすればよいですか?
現状では、この方法だと
public IEnumerable<ApplicationServer> GetAll()
{
return this.Database.ApplicationServers
.Include(x => x.ApplicationsWithOverrideGroup)
.Include(x => x.ApplicationWithGroupToForceInstallList)
.Include(x => x.CustomVariableGroups)
.ToList();
}
Enabledプロパティ(下記)のみを入力し、ApplicationやCustomVariableGroupプロパティ(下記)は入力しません。これを実現するにはどうしたらよいでしょうか?
public class ApplicationWithOverrideVariableGroup : EntityBase
{
public bool Enabled { get; set; }
public Application Application { get; set; }
public CustomVariableGroup CustomVariableGroup { get; set; }
}
解決方法は?
EF 6の場合
using System.Data.Entity;
query.Include(x => x.Collection.Select(y => y.Property))
を必ず追加してください。
using System.Data.Entity;
のバージョンを取得するために
Include
で、ラムダを取り込んでいます。
EFコア用
新しいメソッドを使用する
ThenInclude
query.Include(x => x.Collection)
.ThenInclude(x => x.Property);
関連
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み] 不変量名 'System.Data.SqlClient' を持つ ADO.NET プロバイダに対応する Entity Framework プロバイダが見つかりませんでした。
-
[解決済み] エンティティフレームワークのタイムアウト
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み] Entity Framework 5 レコードを更新する
-
[解決済み] Entity FrameworkとLINQ to SQLの比較
-
[解決済み] Entity Frameworkにおける最速の挿入方法
-
[解決済み] Entity Frameworkで生成されたSQLを表示するにはどうすればよいですか?
-
[解決済み] Entity Framework 5で子オブジェクトの子オブジェクトをインクルードする方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み] 2つのリストを結合する
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み】プロセスが実行されているかどうかを知るには?
-
[解決済み] Entity Framework 5で子オブジェクトの子オブジェクトをインクルードする方法