我是LINQ的新手,在翻译下面的代码时遇到了困难。我目前正在为SQL数据库编写一个前端。我有一个提供标识值列表(electrolyte_id)的SQL视图。该列表按电解质标识值分组,并按electrolyte_max_date (视图)中每个过程槽标识值(process_tanks_id)的最大日期进行过滤。下面是sql查询。
SELECT electrolyte.electrolyte_id, electrolyte.process_tanks_id, electrolyte.date_active
FROM electrolyte_max_date INNER JOIN electrolyte ON
electrolyte_max_date.max_date = dbo.electrolyte.date_active AND
electrolyte_max_date.process_tanks_id = electrolyte.process_tanks_id我已经能够在LINQ中翻译electrolyte_max_date查询。代码如下:
var filter_electrolyte_list = from tbl_electrolyte in _ds.electrolyte.AsEnumerable()
group tbl_electrolyte by
tbl_electrolyte.process_tanks_id into tankgroup
select new
{
tank = tankgroup.Key,
maxdate = tankgroup.Max(tbl_electrolyte =>
tbl_electrolyte.date_active)
};我的问题是:如何将filter_electrolyte_list LINQ查询连接到另一个LINQ查询中的电解质表?我需要复制在SQL视图中获得的相同结果。
提前感谢您的帮助。乔纳森
发布于 2012-05-16 21:16:15
我觉得你想做的是联合两个Linq查询?
var filter_electrolyte_list = (from tbl_electrolyte in _ds.electrolyte.AsEnumerable()
group tbl_electrolyte by
tbl_electrolyte.process_tanks_id into tankgroup
select new
{
tank = tankgroup.Key,
maxdate = tankgroup.Max(tbl_electrolyte =>
tbl_electrolyte.date_active)
}).Union( //New Linq Query that has the same select statement);确保每个查询中的选定变量与常规SQL Union一样匹配。
https://stackoverflow.com/questions/10619237
复制相似问题