希望大家都很好。在LINQ查詢中指定的演員異常
那麼,我越來越奇怪'指定演員無效'。在我的一個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從即剛剛2列DB,FiscalYearId和FiscalYearNumber得到一個DataTable。 FiscalYearId和FiscalYearNumber的數據類型分別爲tinyint和smallint。
當item擴展時,我看到Specified Cast異常,我也嘗試了Int16,但它也引發了一個異常。
專家在這裏可以告訴我在上面的代碼中可能是錯的嗎? 任何指針或類似的將不勝感激。
問候 阿努拉格
檢查是否返回空值? –
改用'r [「FiscalYearNumber」]和'r [「FiscalYearId」]。 –
我想你可以使用'dtFiscalYearID.Rows [0] [「FiscalYearId」]。GetType()'來檢查字段的類型。 – Kaf