みんなが元気であることを願っています。
「Specified Cast is not valid.」という奇妙なメッセージが表示されます。私のLINQクエリの1つで例外が発生しました。
コードは次のとおりです。
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は、 FiscalYearIdとFiscalYearNumberの 2 つの列だけを持つ DB から DataTable を取得します。FiscalYearId と FiscalYearNumber の DataTypes は、それぞれ tinyint と smallint です。
アイテムが展開されると、Specified Cast 例外が表示されます。Int16 も試しましたが、例外がスローされます。
ここの専門家は、上記のコードで何が問題なのか教えてもらえますか? ポインタなどは非常に高く評価されます。
よろしくアヌラグ