0

我有两个表UserVisits- 其中包含用户 ID 和他在现场的所有访问。这是我到目前为止所做的。是否可以在Count没有 foreach 循环的情况下使用 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将是一个只有两个属性的匿名类型对象列表:UserHistoryCount.

于 2013-09-07T20:16:56.723 回答