0

举一个非常简单的例子,A​​ 公司有男性用户。我有两个表,公司和用户。User 表有一个外键 CompanyId。假设我必须填写公司及其所有用户的列表,我将如何将其与数据阅读器映射?

我需要多个选择语句吗?一个获得所有需要的公司,然后另一个获得选定公司内的所有用户?伪代码如下。

 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 回答