来自两个表的linq查询结果的返回类型是什么?

jxct1oxe  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(143)

我想将从两个表中提取的数据的列表返回到一个具有给定列名的DataGridView中。

public DataTable GetInfo(int id)
        {
            var stats = new List<string>();
            using MyContext db = new MyContext();

            var linqResult = (from Round in db.Rounds
                             join Hands in db.Hands on Round.RoundID equals Hands.RoundID
                             where Round.UserID == id
                             select new
                             {
                                 ID = Round.RoundID,
                                 Status = Round.Status,
                                 DatePlayed = Round.DatePlayed,
                                 Cards = Hands.PlayerCards,
                                 Score = Hands.PlayerScore
                             });

            return (DataTable)linqResult;
        }

上面的代码返回了正确的值,但是列的名称在DataGridView中被设置为默认值。我做了一些google搜索,并尝试了ToString(),但我无法找出正确的返回类型,因为linqResult被定义为具有匿名类型的泛型列表。我想要的是避免手动命名所有列。
谢谢你,谢谢你

py49o6xq

py49o6xq1#

下面的代码将把数据放入DataTable中

DataTable dt = new DataTable();
            dt.Columns.Add("ID", typeof(string));
            dt.Columns.Add("Status", typeof(string));
            dt.Columns.Add("DatePlayed", typeof(DateTime));
            dt.Columns.Add("Cards", typeof(string));
            dt.Columns.Add("Score", typeof(int));

            foreach (var result in linqResult)
            {
                dt.Rows.Add(new object[] { result.ID, result.Status, result.DatePlayed, result.Cards, result.Score });

            }

相关问题