用LINQ到实体的结果填充数据表,这样我就可以遍历它们

本文关键字:就可以 遍历 数据表 LINQ 实体 填充 结果 | 更新日期: 2023-09-27 18:06:31

我一直在尝试用LINQ结果填充一个数据表,这样我就可以迭代DT并打印出所需的数据,但无论我如何尝试,它都无法将匿名类型转换为数据表。

我使用的LINQ是:

        using (var db = new SiteNavigation())
        {
            dtNavData=  (from n in db.Navigation
                         join st in db.SectionTranslations
                         on n.SectionID equals st.Section.SectionID
                         where n.Category == Category && st.CultureID == CultureID
                         orderby n.Position ascending
                         select new
                         {
                              LinkAddress = st.Section.Type + "/" + st.Section.RouteName,
                              st.Title
                          }).ToList();
        }

是否有某种方法可以将结果转换为可数据表或任何其他对象,以便我可以逐行执行并处理数据?

用LINQ到实体的结果填充数据表,这样我就可以遍历它们

如果您只想遍历linq查询的结果,则不必创建DataTable

var myResult =  (from n in db.Navigation
                     join st in db.SectionTranslations
                     on n.SectionID equals st.Section.SectionID
                     where n.Category == Category && st.CultureID == CultureID
                     orderby n.Position ascending
                     select new
                     {
                          LinkAddress = st.Section.Type + "/" + st.Section.RouteName,
                          st.Title
                      }).ToList();

foreach(var item in myResult)
{
     string linkAddrs = item.LinkAddress;
     string title = item.Title;
}