这是主要问题。
我正在尝试使用类似这样的存储库模式:
public interface IExchangeInboxRepository
{
IEnumerable<InboxEmail> GetAllEmails();
}
我想要完成的是抓取电子邮件并创建一个这样的域对象:
public class InboxEmail
{
public IEnumerable<FileAttachment> Attachments { get; set; }
public string FromAddress { get; set; }
public string Subject { get; set; }
public string Content { get; set; }
public DateTime DateArrived { get; set; }
}
问题在于,从我在尝试使用EWS时可以看出,就像在这个例子中一样:
Download attachment from Exchange using Exchange Web Services
当我尝试在域obj的附件列表中执行fileAttachment.Load()时,它正在调用Exchange服务。不是什么大不了但我希望存储库在构建IEnumerable之后删除电子邮件。如果我删除了电子邮件,显然当我尝试访问FileAttachment时会抛出“存储空”的异常。有没有办法坚持FileAttachment?
我基本上想要保留Domain Obj中附加的文件,并在通过使用EWS迭代后将其删除并将其返回给存储库的用户。