求一个linq怎么写

AKQJ10 2010-01-19 03:51:32
我有个数据表employee,里面有int型ID字段,我想在ria services里写一个查询,传入一个int型数组,结果
要求返回所有ID属于此数组的数据
看起来挺简单,写了俩版本都抱错
一个说不支持方法无法转化为查询语句
一个说结果类型必须是基元类型
快疯了
各位大仙救命了
...全文
198 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingjunli 2010-01-20
  • 打赏
  • 举报
回复
NorthwindDataContext db = new NorthwindDataContext();
var q1 = Queryable.Where(db.Products, (p) => p.ProductName.Contains("Chef"));
var q2 = Queryable.Where(db.Products, (p) => p.ProductName.Contains("Sir"));
var filter = Queryable.Union(q1, q2);
var q = from prod in filter
select new { prod.ProductName };


参考:http://social.msdn.microsoft.com/forums/en-US/linqprojectgeneral/thread/925b245d-5529-4a64-8cd4-4bc83ee6fe7a/
jv9 2010-01-20
  • 打赏
  • 举报
回复
需求比较简单,参考下面的代码。

Public Function GetEnrollment() As IQueryable(Of Enrollment)
Return Me.Context.Enrollment
Dim q = (From c In Me.Context.Enrollment _
Join g In Me.Context.StudentGrades On g.iStudentID Equals c.istudentid _
Join s In Me.Context.Student On c.istudentid Equals s.iStudentID _
Join j In Me.Context.gbTest On j.iID Equals g.iTaskID _
Where c.iClassID = 9_
Select (s.cFirstName.Trim() & " " & s.cLastName.Trim())).Distinct()
Return q
(from c in enrollments _
join g in gbstudentgrades on g.istudentid equals c.istudentid _
join s in students on c.istudentid equals s.istudentid _
join j in gbtasks on j.iID equals g.iTaskID _
where c.iClassID=9_
select (s.cFirstName.trim() & " " & s.cLastName.trim())).Distinct()
End Function
Goldfire_001 2010-01-19
  • 打赏
  • 举报
回复
这个,发错地方了吧。。
wangping06 2010-01-19
  • 打赏
  • 举报
回复
把数组转为实体类集合,再用这两个集合JOIN试下

8,734

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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