在哪里放置数据合同WCF?好的放入数据层?

Kin*_*tes 2 c# wcf web-services

我看到有些人建议WCF服务调用数据层,有一个包含返回数据的对象,然后将其放入数据协定中.我的问题是为什么不将数据合同粘贴在数据层本身而只是返回它们?这样做有缺点吗?我问的原因是我的数据层只是一个类库,我希望能够从可能没有使用webservice的多个平台调用它.我似乎无法找到关于此的最佳做法.有任何想法吗?

dig*_*ire 5

将合同放在数据层中的缺点在于,您将数据层与服务合同相结合,而实际上它们并不需要彼此关注.理想情况下,您的数据层应该负责执行它在锡上所说的内容.您可能正在寻找的是数据传输对象(DTO).它们只是为了向您的客户传输数据.在您的服务层中,您可以将这些转换回各自的实体,以满足您的需求.这确实会产生开销,但您需要一种方法来回映射DTO和实体,例如使用AutoMapper