SQL에서 매우 쉽게 수행 할 수있는 엔티티 프레임 워크에서 다음 작업을 수행하려고합니다.linq 엔티티 프레임 워크의 조합
select 0 as employeeid, 'Select' as employeeName
union
Select employeeid, employeeName from tblemployee where IsActive=true
도와주세요.
SQL에서 매우 쉽게 수행 할 수있는 엔티티 프레임 워크에서 다음 작업을 수행하려고합니다.linq 엔티티 프레임 워크의 조합
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
는 다음을 수행 할 수 Employees
이름 Employee
s의 컬렉션이 있습니다 : @Arion 언급대로 엔티티 프레임 워크가 중복 된 개체를 제거하려면
var allEmployeesPlusAnEmptyOne =
new[] { new Employee { EmployeeId = 0, Name = "Select" } }
.Concat(dbContext.Employees.Where(e => e.IsActive));
..., 당신은
Union()
을 사용할 수 있습니다, 나는 아무 것도 없을 것이라고 생각하지만.
도움을 주셔서 대단히 감사드립니다. 코드가 잘 작동하고 있습니다. – aziz
도와 주셔서 감사합니다. :) –
대단히 감사합니다. 귀하의 코드가 잘 작동합니다. – aziz
도와 드리겠습니다. 당신이 답을 잘한다면. 그렇다면 그것을 받아들이는 것이 좋습니다. – Arion
"Enumerable.Range (0,1)"로 시작하는 이유를 설명해 주시겠습니까? – Den