ArgumentNull异常实体Framework7

时间:2016-03-21 11:43:55

标签: entity-framework

请我使用此代码从sql server数据库中获取实体

MyDbContext dbct = new MyDbContext(); IQueryable query = dbct.MyEntity;

但是,当我尝试获取查询时,我得到了那些例外

System.ArgumentNullException:值不能为null。 参数名称:构造函数    在System.Linq.Expressions.Expression.New(ConstructorInfo构造函数,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)    在Microsoft.Data.Entity.Query.ExpressionVisitors.RelationalEntityQueryableExpressionVisitor.VisitEntityQueryable(Type elementType)    at Microsoft.Data.Entity.Query.ExpressionVisitors.EntityQueryableExpressionVisitor.VisitConstant(ConstantExpression constantExpression)    在System.Linq.Expressions.ConstantExpression.Accept(ExpressionVisitor visitor)    at Microsoft.Data.Entity.Query.ExpressionVisitors.ExpressionVisitorBase.Visit(Expression expression)    at Microsoft.Data.Entity.Query.EntityQueryModelVisitor.ReplaceClauseReferences(Expression expression,IQuerySource querySource,Boolean inProjection)    在Microsoft.Data.Entity.Query.EntityQueryModelVisitor.CompileMainFromClauseExpression(MainFromClause mainFromClause,QueryModel queryModel)    在Microsoft.Data.Entity.Query.RelationalQueryModelVisitor.CompileMainFromClauseExpression(MainFromClause mainFromClause,QueryModel queryModel)    在Microsoft.Data.Entity.Query.EntityQueryModelVisitor.VisitMainFromClause(MainFromClause fromClause,QueryModel queryModel)    在Remotion.Linq.Clauses.MainFromClause.Accept(IQueryModelVisitor visitor,QueryModel queryModel)    在Remotion.Linq.QueryModelVisitorBase.VisitQueryModel(QueryModel queryModel)    在Microsoft.Data.Entity.Query.EntityQueryModelVisitor.VisitQueryModel(QueryModel queryModel)    在Microsoft.Data.Entity.Query.RelationalQueryModelVisitor.VisitQueryModel(QueryModel queryModel)    在Microsoft.Data.Entity.Query.Internal.SqlServerQueryModelVisitor.VisitQueryModel(QueryModel queryModel)    在Microsoft.Data.Entity.Query.EntityQueryModelVisitor.CreateQueryExecutor [TResult](QueryModel queryModel)    在Microsoft.Data.Entity.Storage.Database.CompileQuery [TResult](QueryModel queryModel) ---从抛出异常的先前位置开始的堆栈跟踪结束---    在Microsoft.Data.Entity.Query.Internal.QueryCompiler。&lt;&gt; c__DisplayClass18_0 1.<CompileQuery>b__0() at Microsoft.Data.Entity.Query.Internal.CompiledQueryCache.GetOrAddQuery[TResult](Object cacheKey, Func 1编译器)    在Microsoft.Data.Entity.Query.Internal.QueryCompiler.CompileQuery [TResult](表达式查询)    在Microsoft.Data.Entity.Query.Internal.QueryCompiler.Execute [TResult](表达式查询)    在Microsoft.Data.Entity.Query.Internal.EntityQueryProvider.Execute [TResult](表达式表达式)    at Remotion.Linq.QueryableBase 1.GetEnumerator() at Microsoft.Data.Entity.Internal.InternalDbSet 1.System.Collections.Generic.IEnumerable.GetEnumerator()    在System.Collections.Generic.List 1..ctor(IEnumerable 1个集合)    在System.Linq.Enumerable.ToList [TSource](IEnumerable`1 source)

1 个答案:

答案 0 :(得分:1)

这实际上是一个例外,Entity Framework应该捕获并包装成一个用户友好的异常,但是它试图告诉你的是:

实体类型没有定义无参数构造函数。

添加它,异常就会消失。