我正在使用nhibernate和SQL server处理MVC3应用程序。写了一个可重复使用的常规方法。请找到下面的代码,让我知道一个更好的方法来处理它。我观察到执行这段代码需要很长时间。
private void GetParentCompany(IEnumerable<Company> companiesList)
{
foreach (var company in companiesList)
{
long? dunsUltimateParent = company.DUNSUltimateParent;
Company ultimateParent = _companyService.GetCompanyByDUNS(Convert.ToInt64(dunsUltimateParent));
if (ultimateParent != null)
{
company.UltimateParentName = ultimateParent.CompanyName;
company.UltimateCompanyId = ultimateParent.CompanyId;
company.UltimateParentDuns = ultimateParent.DUNS;
}
}
}
答案 0 :(得分:0)
为您的公司添加索引.DUNS列可能有所帮助。但是,请考虑引入从公司到(母公司)的多对一关系。
在公司类中放置类型为company的UltimateParent属性。然后,UltimateParentName和UltimateParentDuns字段将是多余的,您可以简单地获取company.UltimateParent.Name。 UltimateParent的映射可以使用&#39; References&#39;在流利的nhibernate。
References(x => x.UltimateParent);