请我使用此代码从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)
答案 0 :(得分:1)
这实际上是一个例外,Entity Framework应该捕获并包装成一个用户友好的异常,但是它试图告诉你的是:
实体类型没有定义无参数构造函数。
添加它,异常就会消失。