1

データベースから結果を取得するためにこのクエリを作成しました。 これが私のテーブル構造です。

何が起こっているのか。

表1のDtMapGuestDepartment

表2のDtDepartment

使用されています

    var dept_list=  from map in DtMapGuestDepartment.AsEnumerable()
                    where map.Field<Nullable<long>>("GUEST_ID") == DRowGuestPI.Field<Nullable<long>>("PK_GUEST_ID")
                    join 
                    dept in DtDepartment.AsEnumerable()
                    on map.Field<Nullable<long>>("DEPARTMENT_ID") equals dept.Field<Nullable<long>>("DEPARTMENT_ID")
                    select dept.Field<string>("DEPARTMENT_ID");

私はDataTablesでこのクエリを実行しており、データテーブルが返されることを期待しています。

ここでは、次のクエストとなる表1からも別の部門を選択したいと思います。できればそれに答えてください。

4

1 に答える 1

2

クエリをパーツに分割し、どのコレクションに要素がないかを確認します。

var mapList = DtMapGuestDepartment.AsEnumerable().ToList();
var deptList = DtDepartment.AsEnumerable().ToList();

var queryResult1 = (
  from map in mapList
  where map.Field<Nullable<long>>("GUEST_ID") ==
    DRowGuestPI.Field<Nullable<long>>("PK_GUEST_ID") 
  select map
).ToList();

var queryResult2 = (
  from map in queryResult1
  join dept in deptList
    on map.Field<Nullable<long>>("DEPARTMENT_ID")
    equals dept.Field<Nullable<long>>("DEPARTMENT_ID") 
  select dept.Field<string>("DEPARTMENT_ID")
).ToList();
于 2010-05-26T14:37:59.730 に答える