3
我已经定义了如下定义的CodeFirst集合。如何计算嵌套集合/ codefirst中的项目EntityFramework
对于任何给定的EmailOwnerId,我想统计存在EmailDetailAttachments记录的数量,而不实际下载所有图像本身。
我知道我可以这样做
var emailsToView = (from data in db.EmailDetails.Include("EmailDetailAttachments")
where data.EmailAccount.EmailOwnerId = 999
select data).ToList();
int cnt = 0;
foreach (var email in emailsToView)
{
cnt += email.EmailDetailAttachments.Count();
}
但这意味着我已经下载图像的所有字节从我的遥远的服务器。
任何建议,将不胜感激。
public class EmailDetail
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public int EmailOwnerId {get;set;}
public virtual ICollection<ImageDetail> EmailDetailAttachments { get; set; }
..
}
public class ImageDetail
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[MaxLengthAttribute(256)]
public string FileName { get; set; }
[MaxLengthAttribute(256)]
public string ContentMimeType { get; set; }
public byte[] ImageDataBytes { get; set; }
public DateTime ImageCreation { get; set; }
}
谢谢亨克,伟大的技术。我一定会在将来使用它。我没有想到这一点。 –