2016-03-21 17 views
0

我有Code First模型:Code First Model我正在嘗試使用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.List 1..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,IReadOnlyCollection 1 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.QueryableBase 1.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

回答

3

問題是我需要在每個實體一個默認的構造。

相關問題