0

非常に単純な例として、ある会社には男性ユーザーがいます。Company と User の 2 つのテーブルがあります。User テーブルには、外部キー CompanyId があります。会社とそのすべてのユーザーのリストを入力する必要があるとします。これをデータリーダーでどのようにマッピングしますか?

複数の select ステートメントが必要ですか? 1 つは必要なすべての会社を取得し、もう 1 つは選択した会社内のすべてのユーザーを取得しますか? 以下の疑似コード。

 select companies;
 Loop through all companies returned and create a list of companyids for where in.
 select users where in (companyid list created above)
 attach users to selected companies     

論理的には、このタスクを達成するための最良のアプローチは何でしょうか。

4

1 に答える 1

0

ORM を使用したくない場合 (これにより簡単になります)、JOIN ステートメントを実行し、おそらく aDictionaryを使用して各企業の主キーをディクショナリのキーとして格納し、次にCompanyインスタンスのコレクションを含むディクショナリの値としてのインスタンスUser

例えば

SELECT [column list] FROM Companies c INNER JOIN Users u ON u.CompanyId = c.Id;
于 2012-09-15T17:24:48.547 に答える