私はasp.net MVCでウェブサイトを作っていますが、私はリポジトリインタフェースを使ってメモリ内のリポジトリとデータベースを使用しています。エンティティフレームワークにインクルードメソッドに関する質問
私はすべての私の関係を修正しました。例えば、私は彼がアドレスを持っているよりも1つの連絡先を持っているとします。この連絡先に1つのアドレスを追加すると、address.contactのrelashionshipが自動的にフィックスアップされます。私はエンティティフレームワークのプロパティ仮想を残して、データベースリポジトリを使用してプロキシを作成します。
私の質問はここから:
私はこのようなもののクエリがあります。
return query.Where(c => c.UserID == clientId)
.Include(c => c.AssignedProjects)
.Select(c => new UserDetailsData<Client>
{
User = c,
IssuesCount = c.IssuesReported.Count()
}).Single();
などが使用しています。 Selectを削除した場合、assignedProjectsにはこのクライアントのプロジェクトが含まれますが、Select AssignedProjectsをインクルードするとnullです。匿名オブジェクトは正常ですが、ユーザーにはAssignedProjectsが含まれていません。
私はそれを行うことができますが、EFを使用することはできません。
最終的なグラフは..クライアントIDを持つユーザーが自分のプロジェクトでAssignedProjectsを収集し、User(コレクションを持つ)とIssuesCountを使用してAssignedProjects、User情報、およびクライアントから報告された問題の数..
どのように私はこれを解決することができますか?
正直、これは完全に間違っている可能性がありますが、私は通過していたと私はそれをショットを与えるだろうと思った。おそらくincludeとselectの間でAsQueryable()で作業してみてください。それがあなたにとって何かをするかどうか私に教えてください:P。 – OpticalDelusion