このメソッドで Specified cast is not valid エラーが発生しています
public Dictionary<byte, string> getTeamList(int id1, Dictionary<byte, int> myList)
{
Dictionary<byte, string> result = new Dictionary<byte, string>();
var query= _dataContext.usp_getItem();
foreach(var item in query)
{
if (myList.ContainsKey(item.ID)
{
int count= _dataContext.usp_getCountPerID(id1, item.ID).FirstOrDefault().Count;
if (myList[item.ID] > count)
{
result.Add(item.ID, item.Name);
}
}
else
{
result.Add(item.ID, item.Name);
}
}
return result;
}
次の行で InvalidCastException エラーが発生します。
int count = _dataContext.usp_getCountPerID(item.ID).FirstOrDefault().Count;
Count の型は int です。このコード行をコメントアウトすると機能します。
アップデート
usp_getCountPerID は次のようになります。
@ID1 INT,
@ID2 TINYINT
SELECT COUNT(ID) AS Count //I'm changing this name so it's actually not "Count"
FROM Table
WHERE ID1 = @ID1
AND ID2 = @ID2