2016-11-16 4 views
0

私はテーブルから私はそのIDSリスト、I have already done thatであるそれらの詳細を選択する必要がありますが、私は必要、integers idsのリストを持っているdata sorted same way as they were in the list Explaination below:どのようにLINQのC#でDBからデータを選択した後、IDによってソートされた出力を得るために

List<int> SelectedUser = new List<int> { 26,1,22,27 }; 
List<ValidateDropDownBind> objValidateUserList = (from p in context.tblUser 
                    join q in context.tblTaskReportingAuthority on p.UserID equals q.UserID into gj 
                    from r in gj.DefaultIfEmpty() 
                    where p.IsActive == true && p.CompanyID == CurrentAdminSession.CompanyID && SelectedUser.Contains(p.UserID) 
                    //orderby r.TaskReportingAuthorityID 
                    select new ValidateDropDownBind 
                    { 
                     value = p.UserID, 
                     name = p.FirstName + " " + p.LastName 
                    }).GroupBy(x => x.value, (key, group) => group.FirstOrDefault()).ToList(); 

、私はこのクエリを実行すると、私はDBから詳細のリストを得たが、それはそれはあまりにもきれいではありませんlist (SelectedUser).

+0

私はすでに以前に使用された注文を削除しましたが、まだ私は同じ問題に直面しています。 –

答えて

1

sorted form but i need to sort them by the form which they wereであるが、あなたはあなたの最初のリストを使用した後、第2から選択することができますFirstOrDefaultのリスト

最後のWhereは、最初のSelectedUserobjValidateUserListリストに見つからない場合は、nullを含まないことを確認してください。

var sortedList = SelectedUser.Select(
     sortedListUser => objValidateUserList.FirstOrDefault(nonSortedListUser => nonSortedListUser.value == sortedListUser)) 
     .Where(x => x != null); 

希望します。

+0

ありがとうございました。 –

関連する問題