关于linq多表查询的问题,帮帮忙吧

不只是看客 2014-08-01 11:38:54
初学linq遇到一个问题,请教下各位。
var lst = from a in _companyInfoRepository.Table
join b in
(from _b in _propertyInfoRepository.Table where _b.ProNum == 2 select _b) on a.CoProv equals b.ProModel into mm
from c in mm.DefaultIfEmpty()
join d in
(from _d in _propertyInfoRepository.Table where _d.ProNum == 3 select _d) on a.CoCity equals d.ProModel into nn
from e in nn.DefaultIfEmpty()
join f in
_salesareaRepository.Table on a.CoArea equals f.Id.ToString() into pp
from g in pp.DefaultIfEmpty()
select new CompanyInfo()
{
Id = a.Id,
CoName = a.CoName,
CoAddr = a.CoAddr,
AreaName = g.SaName,
ProvName = c.ProTxt,
CityName = e.ProTxt,
CoDist = a.CoDist,
IsDeleted = a.IsDeleted,
CoArea = a.CoArea,
CoProv = a.CoProv,
CoCity = a.CoCity
};
return lst.ToList();

转换List时候报错,这是怎么回事?

...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
smthgdin_020 2014-08-01
  • 打赏
  • 举报
回复
tostring()有问题。
  • 打赏
  • 举报
回复
要理解这个问题,你得先明白对数据库的查询是在什么时候做的. sql是什么时候生成的.
不只是看客 2014-08-01
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
ToString显然不支持,而且new CompanyInfo这个也不行
要查询 A B C 三个表的数据,要怎么写? 现在只会查询单表的数据。
theGreatWife 2014-08-01
  • 打赏
  • 举报
回复
LINQ对数据库的操作其实是直接生成SQL语句,SQL中可不支持 string类型强转
不只是看客 2014-08-01
  • 打赏
  • 举报
回复
select new { Id = a.Id, CoName = a.CoName, ... }; 这样写 如何返回一个List?
threenewbee 2014-08-01
  • 打赏
  • 举报
回复
ToString显然不支持,而且new CompanyInfo这个也不行
wangnaisheng 2014-08-01
  • 打赏
  • 举报
回复
linq To SQl之多表联合查询 应该是你的 f.Id.ToString()有问题,去掉 .ToString() 试试、

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧