我有Code First模型:我正在尝试使用Include()
和IncludeThen()
并获得System.ArgumentNullException
。使用IncludeThen时System.ArgumentNullException
下面是实体(让我知道如果你想了解更多的模式):
public class Area
{
public Area()
{
Geocode = new List<Geocode>();
}
public int AreaId { get; set; }
public int InfoId { get; set; }
public string AreaDescription { get; set; }
public string Polygon { get; set; }
public string Circle { get; set; }
public List<Geocode> Geocode { get; set; }
public string Altitude { get; set; }
public string Ceiling { get; set; }
}
public class Geocode
{
public Geocode(string valueName, string value
)
{
ValueName = valueName;
Value = value;
}
public int GeocodeId { get; set; }
public int AreaId { get; set; }
public string ValueName { get; set; }
public string Value { get; set; }
}
下面是调用代码:
context.Alerts.Include(f => f.Infos)
.ThenInclude(f => f.Areas)
.ThenInclude(f => f.Geocode);// When I comment out this line it does not error, just doesn't load the Geocode navigation property.
这里是一个堆栈跟踪:
at System.Linq.Expressions.Expression.New(构造函数构造函数,IEnumerable
1 arguments) at Microsoft.Data.Entity.Metadata.Internal.EntityMaterializerSource.CreateMaterializeExpression(IEntityType entityType, Expression valueBufferExpression, Int32[] indexMap) at Microsoft.Data.Entity.Query.ExpressionVisitors.Internal.MaterializerFactory.CreateMaterializer(IEntityType entityType, SelectExpression selectExpression, Func
3 projectionAdder,IQuerySource querySource ) at Microsoft.Data.Entity.Query.ExpressionVisitors.Internal.IncludeExpressionVisitor.d__13.MoveNext() at System.Collections.Generic.List1..ctor(IEnumerable
1 collection) at System.Dynamic.Utils.CollectionExtensions.ToReadOnly [T]( IEnumerable的1 enumerable) at System.Linq.Expressions.Expression.NewArrayInit(Type type, IEnumerable
1初始化) 在Microsoft.Data.Entity.Query.ExpressionVisitors.Internal.IncludeExpressionVisitor.VisitMethodCall(MethodCallExpression表达) 在System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor访问者) 在Microsoft.Data.Entity.Query .ExpressionVisitors.ExpressionVisitorBase.Visit(Expression expression) at Microsoft.Data.Entity.Query.RelationalQueryModelVisitor.IncludeNavigations(IncludeSpecification includeSpecification,Type resultType,LambdaExpression a ccessorLambda,布尔querySourceRequiresTracking) 在Microsoft.Data.Entity.Query.EntityQueryModelVisitor.IncludeNavigations(QueryModel queryModel,IReadOnlyCollection1 includeSpecifications) at Microsoft.Data.Entity.Query.RelationalQueryModelVisitor.IncludeNavigations(QueryModel queryModel, IReadOnlyCollection
1个includeSpecifications) 在Microsoft.Data.Entity.Query.EntityQueryModelVisitor.IncludeNavigations(QueryModel queryModel) 在Microsoft.Data。 Entity.Query.EntityQueryModelVisitor.CreateQueryExecutor [TResult](QueryModel queryModel) at Microsoft.Data.Entity.Storage.Database.CompileQuery [TResult](QueryModel queryModel) ---上一个位置抛出异常的堆栈跟踪结束 - - 在Microsoft.Data.Entity.Query.Internal.QueryCompiler中的 。 (表达式查询) at Microsoft.Data.Entity.Query.Internal.QueryCompiler.Execute [TResult](表达式查询) ) at Microsoft.Data.Entity.Query.Internal.EntityQueryProvider.Execute [TResult](Expression expression) at Remotion.Linq.QueryableBase1.GetEnumerator() at Microsoft.Data.Entity.EntityFrameworkQueryableExtensions.IncludableQueryable
2.GetEnumerator() at WeatherMonitoringConsole.Program。 <> c__DisplayClass0_0。 < b__0> d.MoveNext()在C:\用户\ ehasson \源\工作区\营销\ WeatherMonitoring \ WeatherMonitoringConsole \ Program.cs的:线32