包括未映射的变量

时间:2013-09-07 20:11:01

标签: entity-framework asp.net-mvc-4 entity-framework-5

我有两个表UserVisits - 其中包含用户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; }
}

1 个答案:

答案 0 :(得分:1)

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

users将是一个匿名类型对象列表,只有两个属性:UserHistoryCount