【发布时间】:2018-03-21 01:43:15
【问题描述】:
上下文
目前我在文档和记录管理系统 (DRMS?) 中工作。由于一些技术限制,我需要存储一个“视图”文件和一个“源”文件(DOCX 或 XLSX)。查看文件是供用户打印、下载和查看日常使用情况的 PDF 文件,而源文件是可编辑文件。当用户需要更新文件时,他们会下载源代码,更新它,然后上传一个新的视图文件和对应的源文件。
目前我无法实现 XLSX 查看器/编辑器,并且由于文件数量的原因,我无法迁移到 ODF 以使用可用的开源查看器。
现在我有两个这样的模型:
public class Document {
//Other fields
public virtual List<DigitalFile> Files { get; set; }
}
public class DigitalFile {
//Other fields
public virtual Document FileOf { get; set; }
}
Document 模型包含所有“业务”数据,而 DigitalFile 模型包含有关文件本身的数据(路径、url、类型等)
每次创建文档时都会有 1 个视图文件(必需),并且可能有 1 个源文件(某些文档可能无法编辑)。由此您可以知道,当一个文档被创建/更新时,至少会创建/更新一个数字文件。
问题/疑问
我将有一个DocumentAppService 来处理所有的 CRUD 操作,但这是我的疑问所在,我应该从另一个 AppService 调用 AppService 吗?我的意思是,创建 Document 时,Create 方法是否应该调用 DigitalFileAppService 中的另一个 Create 方法?还是DocumentAppService自己处理一切会更好?
现在 DigitalFile 上的所有 CRUD 操作都与 Document 上的操作相关联,这就是为什么我怀疑是否要为文件实现 AppService。
【问题讨论】:
标签: c# aspnetboilerplate