在下面显示的代码中,第一行总是返回一个计数并针对每个表执行此操作。
第二行返回某些表的行,但其他表的数据为空(即使返回了数据和计数)。模型都是正确的,EF Core 也ApplicationDbContext
设置正确。
我在这里看不到其他明显的东西,有人能指出它可能是什么吗?
var count = _context.RequestLine.Count();
var query = await _context.RequestLine.ToListAsync();
返回错误:
数据为 Null。无法对 Null 值调用此方法或属性。
[Table("REQUEST_LINES")]
public class RequestLine
{
[Key]
[MaxLength(30)]
public string LineLookup { get; set; } //DR01-1234567-10001
[MaxLength(30)]
public string Lookup { get; set; } //DR01-1234567
[MaxLength(12)]
public string DocumentId { get; set; }
[MaxLength(80)]
public string DocumentType { get; set; }
[MaxLength(256)]
public string DocumentDescription { get; set; }
public DateTimeOffset Created { get; set; }
public DateTimeOffset Modified { get; set; }
}
该问题可能导致项目中的模型与数据库中表的结构发生冲突。在这种情况下,您尝试获取数据的其中一个表中的某一列可能同时
nullable
在模型中表示为不可空属性。例如,在您的表中,您可能有一个
bit Column1
具有属性的nullable
,而数据库记录中同一列具有空数据。同时,在模型中,您可能有bool Column1
,它在检索所需记录时不会接受任何空数据。