c# - InvalidCastException 预期类型为“System.Int64”,但实际值为“System.String”类型
问题描述
在随机情况下,我们应用程序的用户会收到这个无效的强制转换异常。预期类型是“System.Int64”,但实际值是“System.String”类型。这是我们无法重现的,它发生在我们的 DataGrid 模型的标识(DataGrid.Id) 字段上。数据库中bigint
的类型是,我们模型中的类型是long
。
这似乎是在我们开始使用ToListAsync
而不是ToList
在实体上之后开始发生的。
public async Task<IEnumerable<TEntity>> GetAllAsync()
{
return await _entitySet.ToListAsync();
}
我不确定这些引发错误的随机请求发生了什么。如有必要,我可以提供完整的堆栈跟踪,但堆栈跟踪会引导我到它引发异常的那一行,并且看起来数据类型匹配。这通常是一个非常随机的错误,每两天发生一次或两次。谁能建议这里可能发生的事情?
解决方案
推荐阅读
- android - 挑选和图像谷歌照片后颤动Android没有打开我的应用程序
- laravel - 是否有任何选项可以通过 API 或其他方式从移动设备获取数据
- python - R整数到python整数转换问题包reticulate
- javascript - 单击图像 - 对话框按钮功能链接
- python - 使用 cv2.videowriter 时如何处理文件名读取约定
- python - 为什么我在 pine 脚本上不断收到“未声明的标识符”错误消息?
- sql - 如果不存在用户定义的索引,where 子句会提高性能吗?
- python - Python 导入子文件夹和父文件夹
- python - 为什么我系统上的所有 CuPy 函数都比它们的 NumPy 对应函数慢?
- python - 屏蔽 4D 布尔 numpy 数组的最快方法