現在、C#を使用しているエンタテインメントフレームワークに接続しているプログラミングゲームです。ナビゲーションプロパティを事前にロードするか、Entity Frameworkで他の方法で処理する必要があります
私はゲームで使用される主なモデルであるテーブルとたくさんの関係を持っています。そのため、私はそれらのモデルの多くのナビゲーションプロパティを使用する必要があります。私は私のViewModelを作成するとき
私はこのようなコードを持っている:
Avatar = new ImageViewModel(company.Entity.ImgUrl);
CountryName = company.Region.Country.Entity.Name;
RegionName = company.Region.Name;
Name = company.Entity.Name;
Money = MoneyViewModel.GetMoney(company.Entity.Wallet);
OwnerName = company.Owner.Name;
OwnerID = company.OwnerID;
は、当然のことながら、それは私がナビゲーションproprtiesにアクセスしたい場合に複数のクエリを発射してしまいます。
モデルをビューモデルコンストラクタに渡す前に、この問題をマイコンに含めることで対処しました。 これは私の時間をひどく費やしています。なぜなら、最終的に私のビューモデルにどのナビゲーションプロパティが必要であるかを再帰的にチェックして最初のクエリに手動で含める必要があるからです。
私の質問は このコードデザインは適切ですか?そうでなければ、この種の問題に対する正しいアプローチは何ですか?
個人的には、長期的には扱いにくいと感じます。