gpt4 book ai didi

来自数据表的 C# LINQ 查询

转载 作者:太空宇宙 更新时间:2023-11-03 19:49:43 25 4
gpt4 key购买 nike

我正在尝试在我们正在使用的搜索页面上实现 LINQ 查询。从初始查询返回的数据布局如下:

ListID ListName TagId TagValue
1 Name1 1 Tag1
1 Name1 2 Tag2
2 Name2 3 Tag3

基本上,列表是搜索类别,标签是搜索词。我想要做的是带回这个列表,将它分成唯一的列表,然后在页面上显示相关的标签。

我已将数据加载到数据表中,现在我正尝试将列表名称放入我的 SearchCategories 对象中:

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; }
}

然后将标签放入对象的相关列表中。

这是我正在使用的代码:

dtLists.Load(reader);

var distinctValues = dtLists.AsEnumerable()
.Select(row => new SearchCategories
{
SearchCategoryId = row.Field<int>("ListNameID"),
SearchCategoryName = row.Field<string>("listName")
})
.Distinct();

LINQ 较新,但认为这应该更容易。提前致谢。

最佳答案

这将完成工作:

var result = dtLists.AsEnumerable()
.GroupBy(m => new
{
ListID = m.Field<int>("ListID"),
ListName = m.Field<string>("ListName")
}, m => m)
.Select(m => new
{
m.Key.ListID,
m.Key.ListName,
Tags = m.Select(x => new { x.Field<int>("TagId"), x.Field<string>("TagValue") })
});

当然你必须映射到你的类型...

关于来自数据表的 C# LINQ 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41225894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com