将单个项添加到linq到sql查询

时间:2013-11-27 11:29:47

标签: c# linq-to-sql

我想在linq查询的结果中添加一个项目。我知道加入本地源和SQL源是不可能的。那么,是否可以构造一个与此相同的查询?

SELECT ID FROM Types
UNION
SELECT 1

我想出的最好的是:

List<int> OrgList = DBContext.Types.Select(b => b.ID).ToList();
OrgList.Add(1);

但我宁愿事先添加该项目,仍然具有IQueryable。或者有充分的理由不这样做吗?

3 个答案:

答案 0 :(得分:0)

您必须从数据库中获取数据,然后像在代码中一样添加新项目。

获得IQueryable的唯一方法是在解析查询时将新项目添加到该点。

答案 1 :(得分:0)

您可以使用Union:

var query = DBContext.Types.Select(b => b.ID).ToList().Union(new[]{1});

未经测试但应该可以使用

答案 2 :(得分:0)

尝试Concat

var result = DBContext.Types.Select(p => p.ID)
             .Concat(new List<int>() { 1 }).ToList();