关于linq优化的问题
Company是我自己写的一个类 里面有id和IQueryable<Tb_addxinxi>
public IQueryable<Company> GCompanyList()
{
List<Company> sc = new List<Company>();
Company cp=new Company();
var ss = from cc in hr.As_company select new { cc.Tb_company.id, Tb_addxinxi = (from gg in hr.As_addcompanyxinxi where gg.Tb_company.id == cc.Tb_company.id select gg.Tb_addxinxi) };
foreach(var s in ss){
cp.id = s.id;
cp.Tb_addxinxi = s.Tb_addxinxi;
sc.Add(cp);
cp = new Company();
}
return sc.AsQueryable();
}
运行的时候经常提示
异常详细信息:
System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。
行 36: foreach(var s in ss){
行 37: cp.id = s.id;
行 38: cp.Tb_addxinxi = s.Tb_addxinxi;
请问有没有什么好办法优化?
------解决方案--------------------
public List <Company> GCompanyList()
{
var tmp =(from cc in hr.As_company
join gg in hr.As_addcompanyxinxi
on gg.Tb_company.id
Equls cc.Tb_company.id
select new { cc.Tb_company.id,
gg.Tb_addxinxi
}
).toList<Company>();
return tmp;
}