0

SQLで非常に簡単に実行できるエンティティフレームワークで次の作業を実行したいと考えています。

select 0 as employeeid, 'Select' as employeeName 
union

Select employeeid, employeeName from tblemployee where IsActive=true

助けてください。

4

2 に答える 2

4

多分このようなもの:

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 はデータ コンテキストです

于 2012-04-26T07:00:33.587 に答える
0

tblemployeeがという名前のエンティティにマップされてEmployeeおり、名前付きDbContextのコレクションがあると仮定すると、次のことができます。EmployeeEmployees

var allEmployeesPlusAnEmptyOne = 
    new[] { new Employee { EmployeeId = 0, Name = "Select" } }
    .Concat(dbContext.Employees.Where(e => e.IsActive));

... @Arionで述べたようにUnion()、Entityフレームワークで重複オブジェクトを削除したい場合に使用できますが、何もないと思います。

于 2012-04-26T07:21:09.930 に答える