希望每个人都很好。
好吧,我得到一个奇怪的“指定演员表无效”。我的一个 LINQ 查询中的异常。
代码如下:
public string GetFiscalYearID(string fiscalYear)
{
int fYear = Convert.ToInt32(fiscalYear);
DataTable dtFiscalYearID = new DataTable();
dtFiscalYearID = DomainBL.GetDomainDataFromFieldName("FiscalYearId");
**var item = from r in dtFiscalYearID.AsEnumerable()
where r.Field<Int32>("FiscalYearNumber") == fYear
select r.Field<Int32>("FiscalYearId");**//Exception at this line
if (item.ToList().Count> 0)
{
return item.ToList()[0].ToString();
}
else
{
return string.Empty;
}
}
在这里,dtFiscalYearID从数据库中获取一个 DataTable ,它只有 2 列,即FiscalYearId和FiscalYearNumber。FiscalYearId 和 FiscalYearNumber 的数据类型分别是 tinyint 和 smallint。
展开项目时,我看到 Specified Cast 异常,我也尝试了 Int16,但它也引发了异常。
这里的专家可以告诉我上面的代码可能有什么问题吗?任何指针等将不胜感激。
问候阿努拉格