私たちが作業している検索ページでLINQクエリを実装しようとしています。データテーブルからのC#LINQクエリ
ListID ListName TagId TagValue
1 Name1 1 Tag1
1 Name1 2 Tag2
2 Name2 3 Tag3
基本的にリストは検索カテゴリであり、タグは検索用語です。最初のクエリから返されるデータは、次のように配置されます。私がしようとしているのは、このリストを戻し、それを一意のリストに分けて、関連するタグをページに表示することです。
私は今、私は反対私のSearchCategoriesにリスト名を取得しようとしている、のdataTableにロードされたデータを持っている:
public class SearchCategories
{
public int SearchCategoryId { get; set; }
public string SearchCategoryName { get; set; }
public SearchTags searchTags { get; set; }
public List<SearchTags> lstSearchTags= new List<SearchTags>();
}
とSearchTagクラス:その後、
public class SearchTags
{
public int SearchTagId { get; set; }
public string SearchTagValue { get; set; }
}
とタグをオブジェクトの関連リストに追加します。
ここで私が働いているコードです:
LINQに新しいdtLists.Load(reader);
var distinctValues = dtLists.AsEnumerable()
.Select(row => new SearchCategories
{
SearchCategoryId = row.Field<int>("ListNameID"),
SearchCategoryName = row.Field<string>("listName")
})
.Distinct();
が、これは容易にされるべきだと思うが。前もって感謝します。
'(Distinct'ではなく)' GroupBy'を見てください。 –