首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指定的强制转换在linq查询中无效。

问指定的强制转换在linq查询中无效。
EN

Stack Overflow用户
提问于 2015-09-17 10:06:07
回答 1查看 12.6K关注 0票数 4

是否有某种方法而不是尝试和错误来指定哪个字段造成问题,以及正确的字段类型是什么?

我得到以下例外:

指定的强制转换无效。

代码语言:javascript
复制
 var vacStatiscs = from x in dtGivenBal.AsEnumerable()
                                  join y in dtTakenBal.AsEnumerable()
                                  on x["emp_num"].ToString() equals y["emp_num"].ToString()
                                  into joined
                                  from j in joined.DefaultIfEmpty()
                                  select new
                                  {
                                      emp_num = x.Field<int>("emp_num"),
                                      name = x.Field<string>("name"),
                                      startBal = x.Field<int>("startBal"),
                                      prevMon = x.Field<int>("PrevMon"),
                                      added = x.Field<int>("Added"),
                                      taken = (j == null) ? 0 : j.Field<Int32>("sum")

                                  };

现在,如果我删除了startBal ,prevMon ,added,我就没有任何例外。

注释:前面的字段是COUNT和SUM查询的结果

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-17 10:12:24

没有直接的方法来检测是哪个字段造成了问题。

要回答第二个问题,如何找到正确的字段类型:

代码语言:javascript
复制
Type fieldType = dtGivenBal.Columns["startBal"].DataType;

因此,您可以使用DataTable.Columns集合来确定每一列的类型(F.E。通过调试器)。在这种情况下,您也会发现错误的类型。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32627704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档