积极答复者
我有两个linq查询的结果怎么把他们合并在一起呢?字段都一样

问题
-
using (DataClassesDataContext myData = new DataClassesDataContext())
{
var allSearch1 = from comcas in myData.CASInfo
where comcas.中文1.Contains(qname)
orderby comcas.中文别名.Length descending
select comcas;
var allSearch2 = from comcas2 in myData.CASInfo
where comcas2.中文2.Contains(qname)
orderby comcas2.中文别名.Length descending
select comcas2;// 怎么把allSearch1 和allSearch2 合并到 linq的allSearch中,顺序是先allSearch1的后allSearch2的
//allSearch=allSearch1+allSearch2; 这个意思}
var allSearch = allSearch1.Union(allSearch2);如果语句中包含 UNION 运算符,那么 ORDER BY 子句中的项就必须出现在选择列表中。
如果语句中包含 UNION 运算符,那么 ORDER BY 子句中的项就必须出现在选择列表中。
怎么办?请大家指教- 已编辑 wanguan2000 2009年11月16日 8:33
答案
-
DataClasses1DataContext da = new DataClasses1DataContext();
var l1 = (from s in da.linqname
orderby s.names.Length descending
select s).ToList();
var l2 = (from s in da.linqname
orderby s.names.Length descending
select s).ToList();
var ll= l1.Concat(l2);foreach (var l in ll)
{
Console.Write(l.names+"\n");
}- 已标记为答案 wanguan2000 2009年11月16日 11:47
全部回复
-
DataClasses1DataContext da = new DataClasses1DataContext();
var l1 = (from s in da.linqname
orderby s.names.Length descending
select s).ToList();
var l2 = (from s in da.linqname
orderby s.names.Length descending
select s).ToList();
var ll= l1.Concat(l2);foreach (var l in ll)
{
Console.Write(l.names+"\n");
}- 已标记为答案 wanguan2000 2009年11月16日 11:47