我看到有些人建议WCF服务调用数据层,让对象包含返回的数据,然后将其放入数据协定中。我的问题是为什么不将数据合同粘贴在数据层本身而只是返回它们?这样做有缺点吗?我问的原因是我的数据层只是一个类库,我希望能够从可能没有使用webservice的多个平台调用它。我似乎无法找到关于此的最佳做法。有什么想法吗?
答案 0 :(得分:5)
将合同放在数据层中的缺点是,您将数据层与服务合同耦合在一起,而实际上它们并不需要彼此关注。理想情况下,您的数据层应该负责执行它在锡上所说的内容。您可能正在寻找的是Data Transfer Objects(DTO)。它们只是为了向您的客户传输数据。在您的服务层中,您可以将这些转换回各自的实体,以满足您的需求。这确实会产生开销,但您需要一种方法来回映射DTO和实体,例如使用AutoMapper