0

嗨,我有两个表 table1 和 table2。一旦我得到列表 c1 和 c2,我正在尝试在每个表中搜索某个日期,然后我需要将两者结合起来,所以我有一个不同的列表,没有使用实体框架的重复行。

  ssEntities sss = new ssEntities();
  var c1 = sss.table1.ToList().Where(x => x.date >= DateTime.Today);
  var c2=sss.table2.ToList().Where(x=>x.date1 DateTime.Today);
  var ll=c1.Union(c2).ToList();

当我尝试合并两个列表时,出现以下错误

Instance argument: cannot convert from 
'System.Collections.Generic.IEnumerable<testproject.table1>' to   'System.Linq.IQueryable<testproject.table2>'

请帮忙。

4

1 回答 1

3

这很容易

ssEntities sss = new ssEntities();
  var c1 = sss.table1.ToList().Where(x => x.date >= DateTime.Today)
                            .Select(x => new { x.Prop1, x.Prop2 });
  var c2 = sss.table2.ToList().Where(x => x.date1 >= DateTime.Today)
                            .Select(x => new { x.Prop1, x.Prop2 });
  var ll = c1.Union(c2).ToList();

您只需从每个表中选择您想要的属性,并且它们必须相同,这样联合才能起作用,您不能对 2 种不同类型进行联合。

于 2013-05-30T00:45:19.760 回答