0

ユーザー ID とサイトへのすべての訪問を含む2 つのテーブルUserと- があります。Visitsこれは私がこれまで行ってきたことです。Countforeach ループなしで EF を使用してユーザーが訪問することは可能ですか?

List<User> users = repo.Include(x => x.History).ToList();
foreach(User u in users)
{
    u.NumOfVisits = u.History.Count();
}

public class User
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set;}
    [NotMapped]
    public int NumOfVisits { get; set; }

    [ForeignKey("UserId")]
    public IEnumerable<Visit> History { get; set; }
}
4

1 に答える 1

1
var users = repo.Include(x => x.History)
                .Select(x => new { User = x, HistoryCount = x.History.Count() })
                .ToList();

usersと の 2 つのプロパティだけを持つ匿名型オブジェクトのリストにUserなりHistoryCountます。

于 2013-09-07T20:16:56.723 に答える