1

这是主要问题。

我正在尝试将存储库模式与以下内容一起使用:

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 可以看出,就像在这个例子中一样:

使用 Exchange Web 服务从 Exchange 下载附件

当我尝试在域 obj 中的附件列表上执行 fileAttachment.Load() 时,它正在调用 Exchange 服务。没什么大不了的,但我希望存储库在建立 IEnumerable 后删除电子邮件以交回。如果我删除电子邮件,显然当我尝试访问 FileAttachment 时,它会引发“商店为空”的异常。有没有办法持久化 FileAttachment?

我基本上想保留附加在域对象中的文件,并在使用 EWS 对其进行迭代后删除电子邮件并将它们返回给存储库的用户。

4

0 回答 0