0

LINQ クエリの記述に問題があります。シナリオは次のとおりです。

私は 2 つのデータベースを持っています: A と B データベース A: 次のフィールドを持つ tableX があります: 従業員 ID、名前、住所、電話、...、アクティブ

データベース B: 次のフィールドを持つ tableY があります: 従業員 ID、Visible、Order

テーブル Y のレコード数は、テーブル X のレコード数以下です。

基本的に、属性 'Visible' (テーブル Y 内) が True に設定されている従業員レコードをテーブル X から抽出する必要があり、'Order' 属性を使用して並べ替えます。

これは私がこれまでに持っているものです:

ADataContext dbA = new ADataContext();
BDataContext dbB = new BDataContext();

//Get the list of records from tableY where 'Visbile' is set to True
var List  = dbB.tableY 
                     .Where(x => x.Visible == true).OrderBy(x => x.Order)
                     .ToList();

 //Extract the list of employee IDs
 IEnumerable<int> ids = List.Select(x => x.EmployeeID).Distinct();


var employees = dbA.tableX
                    .Where(x => ids.Contains(x.EmployeeID) && x.Active == true)
                    .ToList();

従業員の正しいリストを取得できますが、tableX に (tableY に存在する) 並べ替え順序を適用する方法がわかりませんテーブル内 (最も古いものから最新のものへ)。

クエリを修正する方法についてのアイデア。

ありがとう、

4

1 に答える 1