繁体   English   中英

从 DbContext 加载实体时,Entity Framework Core 抛出 System.Data.SqlTypes.SqlNullValueException

[英]Entity Framework Core throws System.Data.SqlTypes.SqlNullValueException when loading entities from DbContext

我在数据库中有这个 MyEntity 表:

数据库中的 MyEntity 表

MyEntity 中的数据如下:

MyEntity 表中的数据

EF Core 实体如下:

public class MyEntity
{
    public int Id { get; set; }
    public int MyInt { get; set; }
}

我遇到了一个例外:

System.Data.SqlTypes.SqlNullValueException: 'Data is Null. This method or property cannot be called on Null values.'

尝试从DbContext加载MyEntity时:

var myEntities = dbContext.Set<MyEntity>.ToList();

我究竟做错了什么?

您收到此错误是因为MyEntity数据库表中的MyIntnullable ,并且您尝试加载的行之一的MyInt设置为null

要解决此问题,只需将实体中的MyInt属性的类型更改为Nullable<int>int?

public class MyEntity
{
    public int Id { get; set; }
    public int? MyInt { get; set; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM