我想修改下面的代碼,這樣它會返回一個Dictionary<int,int>
,其中鍵對應groupId和值對應於總的公司在一組,而不是List<Company>
如何將NHibernate查詢修改爲像簡單SQL一樣?
companies = _session.CreateCriteria<Company>()
.Add<Company>(x => x.CompanyGroupInfo.Id == groupId)
.List<Company>();
不幸的是,我又不是真正熟悉NHibernate的所有..
這是我應該立足於新的代碼的SQL,因爲這個SQL產生正確的結果:
SELECT
[CompanyInfo_GroupId]
,count([Company_Id]) TotalNumberOfCompanies
FROM
[Company]
inner join [CompanyInfo]
on [CompanyInfo].[CompanyInfo_MSCompanyId]
= [Company].[Company_Id]
where
-- I have an array of GroupIds that I get the ids from
[CompanyInfo_GroupId] in(963, 1034)
group by
[CompanyInfo_GroupId]
其中輸出如下表格:
CompanyInfo_GroupId TotalNumberOfCompanies
------------------- ----------------------
963 5
1034 1
有人請給我幾點指點?由於
您可以使用標準的API,而不是LINQ – Paco 2010-08-11 19:01:40