I have the following database. A list of companies. Each company has multiple employees and multiple contractors. 

```
dbo.Companies (CompanyId, Name)
dbo.Employees (Id, CompanyId, Name ...)
dbo.Contractors(Id, CompanyId, Name...)

```

I want to get output like so

```
CompanyName #Employees #Contractors
abc           0             10
xyz           25            999

```

I am trying to avoid doing 2 queries, one to get contractors and one to get employees and then merging them. Is there a way to get it done in one go?

n.b. i have 

```
class CompanySummary{
string Name {get; set;}
int EmpCount {get; set;}
int ConCount {get; set;}
}

```

so I can use a collection of this type as result