首页 新闻 会员 周边

【在线的】entity framework 查询遇到的两个问题

1
[已关闭问题] 关闭于 2014-08-22 08:53
var result = (from a in db.tableA
              join b in db.tableB on a.id equals b.aid
              select new { 
                 // 返回需要的字读
          a.id,
          b.Key
}); // 条件一 if(Name)   result = result.Where(x=>x.Name == "A"); // 条件二 if(Sex)   result = result.Where(x=>x.Sex == "A"); // 真正查询,并返回结果 result.ToList();

1. 我需要的字段里不包含查询条件所用的字段

2. 用 IQueryable 的话就意味着我需要写entity来对应select 的字段,实体真心字段多,而且大多数是ID 需要获取ID对应的内容。

上述两个问题怎么解决?

Y2zz的主页 Y2zz | 菜鸟二级 | 园豆:393
提问于:2014-05-07 20:29
< >
分享
所有回答(5)
0

一、你可以先把Name字段,Sex字段先提取到result中,再在result select new {id,Key}

二、可以直接将查询条件写在后面

各安天涯 | 园豆:202 (菜鸟二级) | 2014-05-07 21:23

已经说了 result select 的字段里并不包含查询条件需要的字段呀

支持(0) 反对(0) Y2zz | 园豆:393 (菜鸟二级) | 2014-05-07 21:26
0

把 from a in db.tableA…… 写入if 内

nianhua11 | 园豆:736 (小虾三级) | 2014-05-08 08:36
0

关于字段多的,你定义一个类C里面有2个成员A 和B

select的时候new c{A=a,B=b}就行了.

吴瑞祥 | 园豆:29449 (高人七级) | 2014-05-08 09:49
0

linq to sql只能这样了,如果是linq to entites的话用导航属性

sky_net | 园豆:10 (初学一级) | 2014-05-08 11:33

支持(0) 反对(0) 程序员的干货店 | 园豆:68 (初学一级) | 2014-05-08 23:21
0

程序员的干货店 | 园豆:68 (初学一级) | 2014-05-08 23:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册