私の最近のプロジェクトでは、EF (DataBase First) を ORM データベース マッパーとして使用してみました。また、データを表示するために stimulsoft レポートを使用しています。ビジネス オブジェクトを使用して刺激レポートにデータを表示し、その中に EF コンテキストからフィルター処理されたデータをロードしたい! 1 対多の関係を持つ関連エンティティがあり、いくつかのフィルターを実行した後、レポートにデータを表示したいと考えています。例えば:
var detailData=(from c in Context.BooksRevisions
where c.RevisionNumber==3
select c).ToList();
var masterData=(from d in detailData
select d.Books).Distinct().ToList();
ここでは、マスター データと詳細データをフィルター処理しました。それらをマスター/ディテール構造の stimulsoft レポートに送信したいのですが、レポートでどのオブジェクトがディテールであるかを判断できません (マスター/ディテールの階層ツリーを作成する必要がありますが、関連するオブジェクトは作成されません。2 つの分離したオブジェクトを作成するだけです)。 「Books」と「BooksRevisions」としてオブジェクトを関連付けることができません)。私はそれをグーグルで検索し、「ビジネスオブジェクトを使用したマスターディテール」のビデオを見つけましたが、マスターディテールオブジェクトがどのように作成されるかを示しておらず、EF とは関係ありません。
EF IEnumerable<Books>とIEnumerable<BooksRevisons>を動的に送信して、動的な状態でレポートをデザインしようとしています。ここに大きな問題がありました: レポートは常にすべての既存のデータをdetailDataに表示します(Navigation プロパティは常にすべての詳細データを指しているため)!
では、フィルター処理されたデータに対して最初に Entity Framework データベースを使用してマスター/詳細レポートを作成するにはどうすればよいでしょうか?
前もってありがとう、モーセン。