gpt4 book ai didi

c# - efcore 3.1 不支持字符串连接查询?

转载 作者:行者123 更新时间:2023-12-03 20:10:17 25 4
gpt4 key购买 nike

有没有办法通过将多个字段与 String.Format 或 $"{}"或传统的 ""+ ""+ ""连接在一起来使用 EFCore 3.1 进行查询?

我有这个代码:

await this.Db.ACoolDbSet.Where(y => y.Plums + " " + y.Pears == "LOL").ToListAsync();
PlumsPears是整数。

它导致此错误:
System.InvalidOperationException: 'Null TypeMapping in Sql Tree'

这是预期的吗?
This exception was originally thrown at this call stack:
Microsoft.EntityFrameworkCore.Query.RelationalSqlTranslatingExpressionVisitor.SqlTypeMappingVerifyingExpressionVisitor.VisitExtension(System.Linq.Expressions.Expression)
System.Linq.Expressions.Expression.Accept(System.Linq.Expressions.ExpressionVisitor)
System.Linq.Expressions.ExpressionVisitor.Visit(System.Linq.Expressions.Expression)
Microsoft.EntityFrameworkCore.Query.SqlExpressions.SqlBinaryExpression.VisitChildren(System.Linq.Expressions.ExpressionVisitor)
System.Linq.Expressions.ExpressionVisitor.VisitExtension(System.Linq.Expressions.Expression)
Microsoft.EntityFrameworkCore.Query.RelationalSqlTranslatingExpressionVisitor.SqlTypeMappingVerifyingExpressionVisitor.VisitExtension(System.Linq.Expressions.Expression)
System.Linq.Expressions.Expression.Accept(System.Linq.Expressions.ExpressionVisitor)
System.Linq.Expressions.ExpressionVisitor.Visit(System.Linq.Expressions.Expression)
Microsoft.EntityFrameworkCore.Query.RelationalSqlTranslatingExpressionVisitor.Translate(System.Linq.Expressions.Expression)
Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor.TranslateExpression(System.Linq.Expressions.Expression)
...
[Call Stack Truncated]

添加 y.Plums.ToString() 和 y.Pears.ToString() 解决了这个问题。不幸的是,String.Format 和 $"{}"仍然无法正常工作

最佳答案

尝试这个

await this.Db.ACoolDbSet.Where(y => y.Plums.ToString() + " " + y.Pears.ToString() == "LOL").ToListAsync();

关于c# - efcore 3.1 不支持字符串连接查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60409797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com