0

データベースから何かを取得しようとしています。そのようにする必要があります。

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

しかし、その後、.Any() または .All() を使用しようとするとクラッシュします。次のエラーが表示されます。

DbExpressionBinding には、コレクション ResultType を持つ入力式が必要です。パラメータ名: 入力

これは私のモデルです:

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();

このエラーを修正するにはどうすればよいですか?

4

1 に答える 1

2

構成が正しくありません:VotersはコレクションであるためHasMany、ではなく、を呼び出す必要がありHasOptionalます。

于 2012-12-03T14:02:34.163 に答える