【发布时间】:2018-07-11 13:20:15
【问题描述】:
在 sql 中我可以做到这一点
select 'a' as MyColumn
所以,我在 linq 中有一个带有实体框架的查询,它从数据库中获取一些数据,但是,我需要将该查询与一行合并,并且在 sql 中我可以这样做:
select ... from ...
union
select 'a' as MyColumn
如何使用 linq 生成此查询? 我试着这样做:
var query = (from ... select new {..}).Union(new List<...> { new ...() { MyColumn = 'a' } })
但我猜实体框架不知道如何将内存列表中的内容转换为 sql
我需要得到一个 IQueryable 结果,而不是 List 或其他内存集合,因为我需要在将来将该结果加入其他 sql linq 查询。
【问题讨论】:
-
你应该可以做到的。看看this answer。
-
@RigertaDemiri,这种方法的问题是他们将第一个查询放到内存中的 List 中,然后将一个元素添加到该列表中。我需要保留 IQueryable,而不是在内存中。也许,我没有在问题中说出来。我会更新的。
-
Enumerable.Repeat(new { MyColumn = 'a' }, 1)适合你吗? -
@Enigmativity,我会尝试
标签: c# sql entity-framework linq