Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-在LINQ sum方法中计算值时假定无法访问的代码_C#_Asp.net_Linq_Lambda_Nhibernate - Fatal编程技术网

C#-在LINQ sum方法中计算值时假定无法访问的代码

C#-在LINQ sum方法中计算值时假定无法访问的代码,c#,asp.net,linq,lambda,nhibernate,C#,Asp.net,Linq,Lambda,Nhibernate,我想用nHibernate IQueryable中的数据填充视图模型。但是我对求和法的计算有一个问题。 我试过几种方法。起初有一个数学公式,在计算过程中用两个十进制数字进行四舍五入。这很好: var documents = DocumentService.GetAll().WithSearchRequest(searchModel); var document = from docs in documents let taxAmount = docs.Pos

我想用nHibernate IQueryable中的数据填充视图模型。但是我对求和法的计算有一个问题。 我试过几种方法。起初有一个数学公式,在计算过程中用两个十进制数字进行四舍五入。这很好:

var documents = DocumentService.GetAll().WithSearchRequest(searchModel);

var document = from docs in documents
                  let taxAmount = docs.Positions.Sum(p => Math.Round(p.Amount * (p.TaxRate / 100M), 2))
                  let grossAmount = docs.Positions.Sum(p => p.Amount) + taxAmount
                  select new OverviewViewModel
                  {
                     Id = docs.Id,
                     TaxAmount = taxAmount,
                     GrossAmount = grossAmount,
                  };    
当我删除这个Math.Round时,我得到一个“应该无法访问的代码”异常: var documents=DocumentService.GetAll().WithSearchRequest(searchModel)

当我用100除法时,效果很好。当我用另一个非常量的十进制变量替换100时,它也可以正常工作。所以问题似乎是一个常数的除法。 所有的值都是十进制的,我试着将它们转换为浮点或双精度,但没有解决问题

InnerException为空。以下是stacktrace:

   bei System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   bei System.Linq.Expressions.Compiler.StackSpiller.RewriteUnaryExpression(Expression expr, Stack stack)
   bei System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   bei System.Linq.Expressions.Compiler.StackSpiller.RewriteExpressionFreeTemps(Expression expression, Stack stack)
   bei System.Linq.Expressions.Compiler.StackSpiller.Rewrite[T](Expression`1 lambda)
   bei System.Linq.Expressions.Expression`1.Accept(StackSpiller spiller)
   bei System.Linq.Expressions.Compiler.LambdaCompiler.Compile(LambdaExpression lambda, DebugInfoGenerator debugInfoGenerator)
   bei System.Linq.Expressions.Expression`1.Compile()
   bei NHibernate.Linq.ExpressionToHqlTranslationResults.MergeLambdasAndCompile[TDelegate](IList`1 itemTransformers)
   bei NHibernate.Linq.ExpressionToHqlTranslationResults..ctor(HqlTreeNode statement, IList`1 itemTransformers, IList`1 listTransformers, IList`1 postExecuteTransformers, List`1 additionalCriteria)
   bei NHibernate.Linq.IntermediateHqlTree.GetTranslation()
   bei NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel queryModel, VisitorParameters parameters, Boolean root)
   bei NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitSubQueryExpression(SubQueryExpression expression)
   bei NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitExpression(Expression expression)
   bei NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitUnaryExpression(UnaryExpression expression)
   bei NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitExpression(Expression expression)
   bei NHibernate.Linq.Visitors.SelectClauseVisitor.VisitExpression(Expression expression)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberAssignment(MemberAssignment memberAssigment)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberBinding(MemberBinding memberBinding)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitList[T](ReadOnlyCollection`1 list, Func`2 visitMethod)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberBindingList(ReadOnlyCollection`1 expressions)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberInitExpression(MemberInitExpression expression)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitExpression(Expression expression)
   bei NHibernate.Linq.Visitors.SelectClauseVisitor.VisitExpression(Expression expression)
   bei NHibernate.Linq.Visitors.SelectClauseVisitor.Visit(Expression expression)
   bei NHibernate.Linq.Visitors.QueryModelVisitor.VisitSelectClause(SelectClause selectClause, QueryModel queryModel)
   bei Remotion.Linq.Clauses.SelectClause.Accept(IQueryModelVisitor visitor, QueryModel queryModel)
   bei Remotion.Linq.QueryModelVisitorBase.VisitQueryModel(QueryModel queryModel)
   bei NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel queryModel, VisitorParameters parameters, Boolean root)
   bei NHibernate.Linq.NhLinqExpression.Translate(ISessionFactoryImplementor sessionFactory, Boolean filter)
   bei NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(IQueryExpression queryExpression, String collectionRole, Boolean shallow, IDictionary`2 filters, ISessionFactoryImplementor factory)
   bei NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow, IDictionary`2 enabledFilters)
   bei NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow)
   bei NHibernate.Impl.AbstractSessionImpl.CreateQuery(IQueryExpression queryExpression)
   bei NHibernate.Linq.DefaultQueryProvider.PrepareQuery(Expression expression, IQuery& query, NhLinqExpression& nhQuery)
   bei NHibernate.Linq.DefaultQueryProvider.Execute(Expression expression)
   bei NHibernate.Linq.DefaultQueryProvider.Execute[TResult](Expression expression)
   bei Remotion.Linq.QueryableBase`1.System.Collections.IEnumerable.GetEnumerator()
   bei Kendo.Mvc.Extensions.QueryableExtensions.Execute[TModel,TResult](IQueryable source, Func`2 selector)
   bei Kendo.Mvc.Extensions.QueryableExtensions.CreateDataSourceResult[TModel,TResult](IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState, Func`2 selector)
   bei Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable enumerable, DataSourceRequest request)
   bei Web.Modules.Controllers.DocumentController.ReadDocuments(DataSourceRequest request, DocumentSearchViewModel searchModel) in C:\Modules\Invoicing\Controllers\DocumentController.cs:Zeile 624.
   bei lambda_method(Closure , ControllerBase , Object[] )
   bei System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
   bei System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   bei System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   bei System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
   bei System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
   bei System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d()
   bei System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
bei系统.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(表达式节点,堆栈)
bei System.Linq.Expressions.Compiler.StackSpiller.RewriteUnaryExpression(Expression-expr,Stack-Stack)
bei System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(表达式节点,堆栈)
bei System.Linq.Expressions.Compiler.StackSpiller.RewriteExpressionFreeTemps(表达式表达式,堆栈)
bei系统.Linq.Expressions.Compiler.StackSpiller.Rewrite[T](表达式'1 lambda)
bei系统.Linq.Expressions.Expression`1.Accept(堆垛机溢出器)
bei System.Linq.Expressions.Compiler.LambdaCompiler.Compile(LambdaExpression lambda,DebugInfoGenerator DebugInfoGenerator)
bei System.Linq.Expressions.Expression`1.Compile()
bei NHibernate.Linq.expressiontohqltransationresults.MergeLambdasAndCompile[TDelegate](IList`1 itemTransformers)
bei NHibernate.Linq.ExpressionToHqlTranslationResults..ctor(HqlTreeNode语句,IList`1 itemTransformers,IList`1 listTransformers,IList`1 postExecuteTransformers,列表`1附加条件)
bei NHibernate.Linq.IntermediateHqlTree.GetTranslation()
bei NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel QueryModel,VisitorParameters,布尔根)
bei NHibernate.Linq.Visitors.hqlgeneratorexpressionontreevisitor.VisitSubQueryExpression(子queryexpression表达式)
bei NHibernate.Linq.Visitors.hqlgenerator expressionontreevisitor.VisitExpression(表达式)
bei NHibernate.Linq.Visitors.hqlgeneratorexpressionontreevisitor.visitonaryexpression(UnaryExpression)
bei NHibernate.Linq.Visitors.hqlgenerator expressionontreevisitor.VisitExpression(表达式)
bei NHibernate.Linq.Visitors.SelectClauseVisitor.VisitExpression(表达式)
bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberAssignment(MemberAssignment MemberAssignment)
bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberBinding(MemberBinding MemberBinding)
bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitList[T](只读集合'1列表,函数'2 visitMethod)
bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberBindingList(只读集合`1表达式)
bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberInitExpression(MemberInitExpression)
bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitExpression(表达式)
bei NHibernate.Linq.Visitors.SelectClauseVisitor.VisitExpression(表达式)
bei NHibernate.Linq.Visitors.SelectClauseVisitor.Visit(表达式)
bei NHibernate.Linq.Visitors.QueryModelVisitor.VisitSelectClause(SelectClause SelectClause,QueryModel QueryModel)
bei Remotion.Linq.子句.SelectClause.Accept(IQueryModelVisitor、QueryModelQueryModel)
bei Remotion.Linq.QueryModelVisitorBase.VisitQueryModel(QueryModel QueryModel)
bei NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel QueryModel,VisitorParameters,布尔根)
bei NHibernate.Linq.NhLinqExpression.Translate(ISessionFactoryImplementor会话工厂,布尔过滤器)
bei NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(IQueryExpression queryExpression、字符串集合角色、布尔浅值、IDictionary`2过滤器、ISessionFactoryImplementor工厂)
bei NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(IQueryExpression queryExpression,布尔浅值,IDictionary`2启用的筛选器)
bei NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(IQueryExpression queryExpression,布尔浅层)
bei NHibernate.Impl.AbstractSessionImpl.CreateQuery(IQueryExpression queryExpression)
bei NHibernate.Linq.DefaultQueryProvider.PrepareQuery(表达式、IQuery和查询、NhLinqExpression和nhQuery)
bei NHibernate.Linq.DefaultQueryProvider.Execute(表达式)
bei NHibernate.Linq.DefaultQueryProvider.Execute[TResult](表达式)
bei Remotion.Linq.QueryableBase`1.System.Collections.IEnumerable.GetEnumerator()
bei Kendo.Mvc.Extensions.QueryableExtensions.Execute[TModel,TResult](IQueryable源代码,Func`2选择器)
bei Kendo.Mvc.Extensions.QueryableExtensions.CreateDataSourceResult[TModel,TResult](IQueryable可查询,DataSourceRequest请求,ModelStateDictionary modelState,Func`2选择器)
bei Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable可枚举,DataSourceRequest请求)
C:\Modules\Invoicing\Controllers\DocumentController.cs:Zeile 624中的bei Web.Modules.Controllers.DocumentController.ReadDocuments(DataSourceRequest请求,DocumentSearchViewModel搜索模型)。
bei lambda_方法(闭包、控制器基、对象[])
bei System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller,Object[]参数)
bei System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext ControllerContext,IDictionary`2参数)
bei System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext ControllerContext,ActionDescriptor ActionDescriptor,IDictionary`2参数)
   bei System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   bei System.Linq.Expressions.Compiler.StackSpiller.RewriteUnaryExpression(Expression expr, Stack stack)
   bei System.Linq.Expressions.Compiler.StackSpiller.RewriteExpression(Expression node, Stack stack)
   bei System.Linq.Expressions.Compiler.StackSpiller.RewriteExpressionFreeTemps(Expression expression, Stack stack)
   bei System.Linq.Expressions.Compiler.StackSpiller.Rewrite[T](Expression`1 lambda)
   bei System.Linq.Expressions.Expression`1.Accept(StackSpiller spiller)
   bei System.Linq.Expressions.Compiler.LambdaCompiler.Compile(LambdaExpression lambda, DebugInfoGenerator debugInfoGenerator)
   bei System.Linq.Expressions.Expression`1.Compile()
   bei NHibernate.Linq.ExpressionToHqlTranslationResults.MergeLambdasAndCompile[TDelegate](IList`1 itemTransformers)
   bei NHibernate.Linq.ExpressionToHqlTranslationResults..ctor(HqlTreeNode statement, IList`1 itemTransformers, IList`1 listTransformers, IList`1 postExecuteTransformers, List`1 additionalCriteria)
   bei NHibernate.Linq.IntermediateHqlTree.GetTranslation()
   bei NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel queryModel, VisitorParameters parameters, Boolean root)
   bei NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitSubQueryExpression(SubQueryExpression expression)
   bei NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitExpression(Expression expression)
   bei NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitUnaryExpression(UnaryExpression expression)
   bei NHibernate.Linq.Visitors.HqlGeneratorExpressionTreeVisitor.VisitExpression(Expression expression)
   bei NHibernate.Linq.Visitors.SelectClauseVisitor.VisitExpression(Expression expression)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberAssignment(MemberAssignment memberAssigment)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberBinding(MemberBinding memberBinding)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitList[T](ReadOnlyCollection`1 list, Func`2 visitMethod)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberBindingList(ReadOnlyCollection`1 expressions)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitMemberInitExpression(MemberInitExpression expression)
   bei Remotion.Linq.Parsing.ExpressionTreeVisitor.VisitExpression(Expression expression)
   bei NHibernate.Linq.Visitors.SelectClauseVisitor.VisitExpression(Expression expression)
   bei NHibernate.Linq.Visitors.SelectClauseVisitor.Visit(Expression expression)
   bei NHibernate.Linq.Visitors.QueryModelVisitor.VisitSelectClause(SelectClause selectClause, QueryModel queryModel)
   bei Remotion.Linq.Clauses.SelectClause.Accept(IQueryModelVisitor visitor, QueryModel queryModel)
   bei Remotion.Linq.QueryModelVisitorBase.VisitQueryModel(QueryModel queryModel)
   bei NHibernate.Linq.Visitors.QueryModelVisitor.GenerateHqlQuery(QueryModel queryModel, VisitorParameters parameters, Boolean root)
   bei NHibernate.Linq.NhLinqExpression.Translate(ISessionFactoryImplementor sessionFactory, Boolean filter)
   bei NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory.CreateQueryTranslators(IQueryExpression queryExpression, String collectionRole, Boolean shallow, IDictionary`2 filters, ISessionFactoryImplementor factory)
   bei NHibernate.Engine.Query.QueryPlanCache.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow, IDictionary`2 enabledFilters)
   bei NHibernate.Impl.AbstractSessionImpl.GetHQLQueryPlan(IQueryExpression queryExpression, Boolean shallow)
   bei NHibernate.Impl.AbstractSessionImpl.CreateQuery(IQueryExpression queryExpression)
   bei NHibernate.Linq.DefaultQueryProvider.PrepareQuery(Expression expression, IQuery& query, NhLinqExpression& nhQuery)
   bei NHibernate.Linq.DefaultQueryProvider.Execute(Expression expression)
   bei NHibernate.Linq.DefaultQueryProvider.Execute[TResult](Expression expression)
   bei Remotion.Linq.QueryableBase`1.System.Collections.IEnumerable.GetEnumerator()
   bei Kendo.Mvc.Extensions.QueryableExtensions.Execute[TModel,TResult](IQueryable source, Func`2 selector)
   bei Kendo.Mvc.Extensions.QueryableExtensions.CreateDataSourceResult[TModel,TResult](IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState, Func`2 selector)
   bei Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable enumerable, DataSourceRequest request)
   bei Web.Modules.Controllers.DocumentController.ReadDocuments(DataSourceRequest request, DocumentSearchViewModel searchModel) in C:\Modules\Invoicing\Controllers\DocumentController.cs:Zeile 624.
   bei lambda_method(Closure , ControllerBase , Object[] )
   bei System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
   bei System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   bei System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   bei System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   bei System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
   bei System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
   bei System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d()
   bei System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()