您好我有两个表tabl1和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>'
请帮忙。
答案 0 :(得分: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();
你必须只从每个表中选择你想要的属性,它们必须是相同的,这样联合才能起作用,你不能在两种不同的类型上做联盟。