gpt4 book ai didi

c# - 尝试检索实体时,L2S 调用导致有关 int 的空分配的异常

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:47 25 4
gpt4 key购买 nike

我有以下代码

    public JsonResult GetRequestDetails(int id)
{
TestRequest req = _context.TestRequests.Where(x => x.id == id).Single();

函数还有更多内容,但第一行是我得到以下异常的地方:

The null value cannot be assigned to a member with type System.Int32 which is a non-nullable value type.

现在在调试器中,我可以看到 id 是一个有效的整数,对于我正在进行的调用,它等于 5 个大气压。然后我转到 SQL 并验证有一个 id 值为 5 的记录。我尝试将 Single() 更改为 First() 在异常消息的奇怪机会只是错误,存在多个记录,但出现相同的异常。

我完全不明白为什么这个 linq-to-sql 调用会失败。

最佳答案

如果问题是“没有得到一行”,错误会有所不同。

此处 的问题在于物化器——即将从 IDataReader 检索到的数据行转换为对象。我强烈怀疑行中的一个 int 列是 null,但在 DBML 中被标记为不可为 null。

找到这是哪一列,然后在 DBML 中将其设置为可空值或从数据库中删除空值。

关于c# - 尝试检索实体时,L2S 调用导致有关 int 的空分配的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4629746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com