我有两个表User
和Visits
- 其中包含用户ID和他在网站上的所有访问。
这就是我到目前为止所做的。是否可以在没有foreach循环的情况下Count
用户使用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; }
}
答案 0 :(得分:1)
var users = repo.Include(x => x.History)
.Select(x => new { User = x, HistoryCount = x.History.Count() })
.ToList();
users
将是一个匿名类型对象列表,只有两个属性:User
和HistoryCount
。