System.InvalidOperationException: Null TypeMapping in Sql Tree


問題提示:System.InvalidOperationException: Null TypeMapping in Sql Tree

日志記錄:

System.InvalidOperationException: Null TypeMapping in Sql Tree
   at Microsoft.EntityFrameworkCore.Query.RelationalSqlTranslatingExpressionVisitor.SqlTypeMappingVerifyingExpressionVisitor.VisitExtension(Expression node)
   at System.Linq.Expressions.Expression.Accept(ExpressionVisitor visitor)
   at Microsoft.EntityFrameworkCore.Query.SqlExpressions.SqlBinaryExpression.VisitChildren(ExpressionVisitor visitor)
   at System.Linq.Expressions.ExpressionVisitor.VisitExtension(Expression node)
   at Microsoft.EntityFrameworkCore.Query.RelationalSqlTranslatingExpressionVisitor.SqlTypeMappingVerifyingExpressionVisitor.VisitExtension(Expression node)
   at System.Linq.Expressions.Expression.Accept(ExpressionVisitor visitor)
   at Microsoft.EntityFrameworkCore.Query.RelationalSqlTranslatingExpressionVisitor.Translate(Expression expression)
   at Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.TranslateExpression(Expression expression)
   at Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.TranslateLambdaExpression(ShapedQueryExpression shapedQueryExpression, LambdaExpression lambdaExpression)
   at Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.TranslateWhere(ShapedQueryExpression source, LambdaExpression predicate)
   at Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)
   at Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)
   at Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)
   at Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)
   at Microsoft.EntityFramewor...

為什么會出現?我這邊的操作是拖拽修改順序

實現代碼:

public async Task MoveOrganizationUnit(MoveNodeInput<long> input)
        {
            var source = await _organizationUnitRepository.GetAsync(input.SourceId);
            var query = _organizationUnitRepository.GetAll();
            await Task.Run(() =>
            {
                _organizationUnitRepository.MoveNode<ExtendedOrganizationUnit, long, long?>(input.SourceId, input.TargetId, input.DropPosition, query);
            });
        }

MoveNode方法:

public static TEntity MoveNode<TEntity, TPrimaryKey, TParentKey>(this IRepository<TEntity, TPrimaryKey> repository, TPrimaryKey sourceNodeId, TParentKey targetNodeId, NodeMoveType moveType, IQueryable<TEntity> query = null)
            where TEntity : class, ISimpleTreeEntity<TEntity, TPrimaryKey, TParentKey>, IEntity<TPrimaryKey>
        {
            repository.ResetNodes<TEntity, TPrimaryKey, TParentKey>(null, query);
            var sourceNode = repository.Get(sourceNodeId);
            var targetNode = targetNodeId == null ? null : repository.Get((TPrimaryKey)(object)targetNodeId);
            return repository.MoveNode<TEntity, TPrimaryKey, TParentKey>(sourceNode, targetNode, moveType, query);
        }

該問題待解決中。。。。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM