linq多表查询,并返回所以字段,注意:不要一个一个列出字段,不要select newa,b返回结果,求高手解答

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linq多表查询,并返回所以字段,注意:不要一个一个列出字段,不要select newa,b返回结果,求高手解答相关的知识,希望对你有一定的参考价值。

假如 a_tb表,b_tb表,我想联表查询a和b中的所有字段
from a in a_tb
join b in b_tb
select...这里怎么写?
1)不要说select newa.字段1,a.字段2,a.字段3,b.字段11,b.字段12,b.字段13,如果很多字段的话很麻烦
2)select newa,b这种也不好,因为返回IList时,
那么它的内容就是:IList[0].a.字段1,.....,IList[0].b.字段11,.....这样也不好
我想要的就是返回List,而里面的内容是List[0].字段1,List[0].字段11
不知道你们明白我意思没
反正我不想一个一个字段罗列,返回的list能够用
foreach(var li in list)

li.字段1;(a的字段)
li.字段11;(b的字段)



参考技术A 只能用你提供的方法来解决,你自己把路堵死了
当然变通的方法来解决你的问题还是可能的,你无非是想做一个通用的联合查询,在函数体里预先不知道进来的内容是什么,

我处理类似的情况是用一个函数把一条数据转换为成JSON对象或Dictionary<string,object>对象,然后再对查询结果进行处理,

不知这种思路是否对你有帮助
参考技术B 这个问题的答案就是你知道的那两种方法,只有这两种方法:
要么用select new a,b;
要么用select new a.字段1,a.字段2,b.字段1,b.字段2
参考技术C 那你直接select a 不就行了追问

我要的是a和b两个表所有字段

EF Linq to Sql 多表left join查询并对结果group by分组之后进行count,max等处理

以上是关于linq多表查询,并返回所以字段,注意:不要一个一个列出字段,不要select newa,b返回结果,求高手解答的主要内容,如果未能解决你的问题,请参考以下文章

LINQ:多表/连接+分组

Linq多表查询 返回组合实体 踩坑记

linq查询 查询表中一个字段的数量,并返回前十个,使用count和top!

sql-mybatis-多表查询不查的字段一定不要查

asp.net mvc3 linq 多表查询怎么把返回的集合在页面循环输出

mysql多表查询