LINQ的不希望合作 - DbExpressionBinding错误

问题描述:

我想从我的数据库得到的东西,我需要它是这样的:LINQ的不希望合作 - DbExpressionBinding错误

var tribunalCase = context.TribunalCases.Where(c => c.Voters.Any(v => v.Voter.UserName == User.Identity.Name)) 
        .Select(c => c) 
        .ToList(); 

但后来,它崩溃当我尝试使用。任何()或.All()。我得到以下错误:

DbExpressionBinding requires an input expression with a collection ResultType. Parameter name: input

这是我的模型:

public class Tribunal 
    { 
     public int Id { get; set; } 
     public Account User { get; set; } 
     public DateTime Expires { get; set; } 
     public Thread Thread { get; set; } 
     public int Points { get; set; } 
     public String Comment { get; set; } 
     public int VotersCount { get; set; } 
     public List<Voters> Voters { get; set; } 
    } 

    public class Voters 
    { 
     public int Id { get; set; } 
     public Account Voter { get; set; } 
     public bool Vote { get; set; } 
     public Tribunal Tribunal { get; set; } 
    } 

我配置这样的:

modelBuilder.Entity<Tribunal>() 
       .HasOptional(t => t.Voters) 
       .WithRequired(); 

我怎么能解决这个错误?

配置不正确:Voters是一个集合,所以您应该拨打HasMany而不是HasOptional

+0

作品。谢谢。 – ojek