Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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
Linq 使用接受实体框架核心3.1.10时出现异常_Linq_Asp.net Core_Linq To Sql_Entity Framework Core_Pomelo Entityframeworkcore Mysql - Fatal编程技术网

Linq 使用接受实体框架核心3.1.10时出现异常

Linq 使用接受实体框架核心3.1.10时出现异常,linq,asp.net-core,linq-to-sql,entity-framework-core,pomelo-entityframeworkcore-mysql,Linq,Asp.net Core,Linq To Sql,Entity Framework Core,Pomelo Entityframeworkcore Mysql,以下是我尝试执行的查询: var contests = await _dbContext.Contests.Include(o => o.Winner) .Where(o=>o.Ended!=null) .Select(c => new { Contest = c, Strings = _dbConte

以下是我尝试执行的查询:

var contests = await _dbContext.Contests.Include(o => o.Winner)
                .Where(o=>o.Ended!=null)
                .Select(c => new 
                {
                    Contest = c,
                    Strings = _dbContext.ContestCountryStrings.Where(o=>o.ContestId==c.Id && (o.Country.Equals(language) || o.Country.Equals("Default"))).ToList()
                }).Take(3).ToListAsync();
这些是实体:

[Table("Contests")]
public class Contest
{
    public int Id { get; set; }
    
    public DateTime DueTo { get; set; }
    
    public uint DurationInHours { get; set; }
    public DateTime? Started { get; set; }
    public DateTime? Ended { get; set; }
    
    public int? WinnerId { get; set; }
    public User Winner { get; set; }
    
    public bool Recurrent { get; set; }
    public string ImageUrl { get; set; }
}

[Table("ContestCountryStrings")]
public class ContestCountryString
{
    public int Id { get; set; }
    public int ContestId { get; set; }
    public Contest Contest { get; set; }
    public string Country { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
}
执行时,我会得到如下异常:

失败: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1] 执行请求时发生未经处理的异常。System.InvalidOperationException:EF.属性调用错误 属性名。在 Microsoft.EntityFrameworkCore.Query.RelationalSqlTranslatingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)位于 System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor 访客)在 System.Linq.Expressions.ExpressionVisitor.Visite(表达式节点)位于 Microsoft.EntityFrameworkCore.Query.RelationalSqlTranslatingExpressionVisitor.VisitBinary(二进制表达式 二进制表达式)在 Pomelo.EntityFrameworkCore.MySql.Query.ExpressionVisitors.Internal.MySqlSqlTranslatingExpressionVisitor.VisitBinary(二进制表达式 二进制表达式)在 System.Linq.Expressions.BinaryExpression.Accept(ExpressionVisitor 访客)在 System.Linq.Expressions.ExpressionVisitor.Visite(表达式节点)位于 Microsoft.EntityFrameworkCore.Query.RelationalSqlTranslatingExpressionVisitor.Translate(表达式 表达式)在 Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslationExpressionVisitor.TranslateExpression(表达式 表达式)在 Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslationExpressionVisitor.CreateJoinPredicate(表达式 outerKey,表达式innerKey)位于 Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslationExpressionVisitor.CreateJoinPredicate(ShapedQueryExpression 外部,LambdaExpression outerKeySelector,ShapedQueryExpression内部, LambdaExpression innerKeySelector)位于 Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslationExpressionVisitor.TranslateLeftJoin(ShapedQueryExpression 外部、成形查询表达式内部、LambdaExpression外部查询选择器、, LambdaExpression innerKeySelector,LambdaExpression resultSelector)
在 Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslationExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)位于 Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslationExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)位于 System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor 访客)在 System.Linq.Expressions.ExpressionVisitor.Visite(表达式节点)位于 Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslationExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)位于 Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslationExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)位于 System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor 访客)在 System.Linq.Expressions.ExpressionVisitor.Visite(表达式节点)位于 Microsoft.EntityFrameworkCore.Query.QueryCompilationContext.CreateQueryExecutor[TResult](表达式 查询)在 Microsoft.EntityFrameworkCore.Storage.Database.CompileQuery[TResult](表达式 查询,布尔异步)在 Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.CompileQueryCore[TResult](IDatabase 数据库、表达式查询、IModel模型、布尔异步 Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.c_uu在Microsoft.EntityFrameworkCore.Query.Internal.CompiledQueryCache.GetOrAddQueryCore[TFunc](对象缓存键,Func1编译器)上显示Class12_0 Microsoft.EntityFrameworkCore.Query.Internal.CompiledQueryCache.GetOradQuery[TResult](对象 在Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteAsync[TResult](表达式查询,CancellationToken CancellationToken)的Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryProvider.ExecuteAsync[TResult](表达式表达式,CancellationToken CancellationToken)在Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable中1.GetAsyncEnumerator(CancellationToken 取消令牌)在 System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable
1.GetAsyncEnumerator()位于Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListSync[TSource](IQueryable
1 源,CancellationToken CancellationToken)位于 MoneyAppBackend.Controllers.竞赛控制器。\u GetLas10PasteEvents(事件类型 输入,字符串语言) /Users/juanjoseduran/Documents/Development/Projects/dotnet/MoneyAppBackend/MoneyAppBackend/Controllers/contesticscontroller.cs:line 106 at MoneyAppBackend.Controllers.QuesticsController.GetAll(事件类型, 字符串lang,字符串uuid)在 /Users/juanjoseduran/Documents/Development/Projects/dotnet/MoneyAppBackend/MoneyAppBackend/Controllers/contesticscontroller.cs:line 57 at lambda_方法(闭合,对象)at Microsoft.Extensions.Internal.ObjectMethodExecutorWaitiable.Waitier.GetResult() 在 Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper 映射器,ObjectMethodExecutor,对象控制器,对象[] (a)在 Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g|u waiting | 12_0(ControllerActionInvoker 调用程序,ValueTask`1 actionResultValueTask)位于 Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g|u waiting|10_0(ControllerActionInvoker 调用程序、任务lastTask、状态next、作用域、对象状态、布尔值 完成)在 Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed (上下文)在 Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(状态)& 接下来,在 Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync() ---来自引发异常的上一个位置的堆栈结束跟踪-
var contests = await _dbContext.Contests.Include(o => o.Winner)
        .Where(o=>o.Ended!=null).Take(3)
        .Select(c => new 
        {
            Contest = c,
            Strings = _dbContext.ContestCountryStrings.Where(o=>o.ContestId==c.Id && (o.Country.Equals(language) || o.Country.Equals("Default"))).ToList()
        }).ToListAsync();