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
。
作品。谢谢。 – ojek