首页 > 解决方案 > .NET Core 3 预览数据在多个 .Includes 上为空错误

问题描述

我有一个简单的查询,如下所示:

return await _context.Blog
.Include(x => x.Posts)
.Include(x => x.People)
.ToListAsync();`

当它运行时,它会引发“数据为空”错误。堆栈跟踪开始如下:

at System.Data.SqlTypes.SqlGuid.get_Value()
at Microsoft.Data.SqlClient.SqlDataReader.GetGuid(Int32 i)
at Microsoft.EntityFrameworkCore.Relational.Query.Pipeline.RelationalShapedQueryCompilingExpressionVisitor.IncludeCompilingExpressionVisitor.IncludeCollection[ 
   TEntity,TIncludedEntity](QueryContext queryContext, DbDataReader dbDataReader, 
    TEntity entity, Func`3 outerKeySelector, Func`3 innerKeySelector, Func`4 
   innerShaper, INavigation navigation, INavigation inverseNavigation, 
   Action 2 
    fixup, Boolean trackingQuery, ResultCoordinator resultCoordinator)

如果我删除其中一个 .Includes,则查询运行良好。我可以删除其中任何一个并且查询有效,因此它似乎与一个特定实体无关。我的 dbcontext 的关系定义如下:

entity.HasOne(e => e.Blog)
.WithMany(b => b.Postenter code heres)
.HasForeignKey(r => r.BlogsID)
.HasConstraintName("FK_Post_Blog");

预览版是否存在某种类型的错误?

标签: .net-coreentity-framework-core

解决方案


推荐阅读