我想在实体框架中执行以下工作,这些工作可以很容易地在 sql 中完成。
select 0 as employeeid, 'Select' as employeeName
union
Select employeeid, employeeName from tblemployee where IsActive=true
请帮忙。
也许是这样的:
和UNION
var t= Enumerable
.Range(0,1)
.Select (e =>
new{employeeid=0,employeeName="Select"})
.Union(
db.tblemployee
.Select (u =>
new {employeeid=u.employeeid,employeeName=u.employeeName} ));
和UNION ALL
var t= Enumerable
.Range(0,1)
.Select (e =>
new{employeeid=0,employeeName="Select"})
.Concat(
db.tblemployee
.Select (u =>
new {employeeid=u.employeeid,employeeName=u.employeeName} ));
其中 db 是数据上下文
假设它tblemployee
被映射到一个名为的实体Employee
并且您DbContext
有一个Employee
名为 s的集合Employees
,您可以执行以下操作:
var allEmployeesPlusAnEmptyOne =
new[] { new Employee { EmployeeId = 0, Name = "Select" } }
.Concat(dbContext.Employees.Where(e => e.IsActive));
...正如@Arion 所提到的,Union()
如果您希望实体框架删除重复的对象,您可以使用,尽管我认为不会有任何重复对象。