C# 将单个项添加到linq to sql查询

C# 将单个项添加到linq to sql查询,c#,linq-to-sql,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); List-OrgList=DBContext.Types.Select(b=>b.ID.ToList()

我想在linq查询的结果中添加一项。我知道不可能连接本地源和SQL源。那么,是否可以构造一个查询来执行与此相同的操作

SELECT ID FROM Types
UNION
SELECT 1
我想到的最好的办法是:

List<int> OrgList = DBContext.Types.Select(b => b.ID).ToList();
OrgList.Add(1);
List-OrgList=DBContext.Types.Select(b=>b.ID.ToList();
组织列表。添加(1);

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

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

拥有
IQueryable
的唯一方法是取消将新项添加到查询已解决的点。

您可以使用Union:

var query = DBContext.Types.Select(b => b.ID).ToList().Union(new[]{1});
未测试,但应能正常工作

尝试Concat

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

OrgList
organizationlist
都是同一类型吗?但是,如果您需要
联合
您可以使用是,我错了,谢谢。我试过使用Union,但无法使其正常工作,但我会再次尝试并发布问题。记住,当你使用Union时,它会列出一个列表。因此您必须传递
.Union(newlist(){1})不确定我以前做得不对,它工作正常,但我想我太想返回iQueryableThank了。我确实尝试过这一点,并且遇到了与Union相同的问题,但我认为问题在于我对linq到SQL的工作原理的理解。