我想在linq查询的结果中添加一个项目。我知道加入本地源和SQL源是不可能的。那么,是否可以构造一个与此相同的查询?
SELECT ID FROM Types
UNION
SELECT 1
我想出的最好的是:
List<int> OrgList = DBContext.Types.Select(b => b.ID).ToList();
OrgList.Add(1);
但我宁愿事先添加该项目,仍然具有IQueryable。或者有充分的理由不这样做吗?
答案 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();