【问题标题】:Link Entity Framework to datatable row将实体框架链接到数据表行
【发布时间】:2017-02-05 05:18:28
【问题描述】:

我正在尝试将查询转换为将显示在 datagridview 中的数据表,以便他们可以选择相应的行。

我收到此错误:

无法将类型为“f__AnonymousType1`5[System.Int32,System.String,System.String,System.String,System.Int32]”的对象转换为类型“System.IConvertible”。无法存储 在 ID Num 列中。预期类型是 Int32。"}

我的代码如下:

foreach (var badMO in badMOs)
{
    var possibleFixes = dbReports.MoNumbers
                .Where(q => (!string.IsNullOrEmpty(badMO.moNumber) && 
                            (q.moNumber1 == badMO.moNumber || 
                             q.moOrder == badMO.moNumber)) || 
                            (!string.IsNullOrEmpty(badMO.moOrder) && 
                            (q.moOrder == badMO.moOrder || q.moNumber1 == badMO.moOrder)))
                .Select(s => new { s.id_moNumber, s.moNumber1, 
                                   s.moOrder, s.moClient, s.moQty })
                .ToList();

    foreach (var moFound in possibleFixes) 
    {
         dtFixes.Rows.Add(possibleFixes.ToArray()); 
    }

    curJob.Rows.Add(badMOs);
    MOFixForm fixForm = new MOFixForm(dtFixes, curJob);
    fixForm.ShowDialog();
}

我在foreach moFound in possibleFixes 收到错误消息。

看着它我真的很接近,但我不明白如何转换查询以使其与IConvertible一起工作

【问题讨论】:

  • 什么是dtFixes?
  • 如果您需要帮助,您需要回答问题。 dtFixes 是什么?请显示代码。

标签: c# linq datatable


【解决方案1】:

替换这部分...

dtFixes.Rows.Add(possibleFixes.ToArray());

...通过这个...

dtFixes.Rows.Add(moFound);

您正在为网格中的每一行添加整个列表,而不仅仅是您当前的项目。

同样适用于:

curJob.Rows.Add(badMOs);

应该是:

curJob.Rows.Add(badMO);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多