将Edmx对象作为参数的Web服务

时间:2011-04-29 16:42:11

标签: web-services wsdl edmx

我觉得将edmx类作为参数暴露给Web服务并不是一个好主意。我觉得这是错误的设计。例如

[WebMethod]
MyWebservice(int customerID, UserProfile profile){
}

现在UserProfile是由Edmx框架生成的类。您可能会争辩说,如果配置文件对象是输入,那么它将不会获得正确的ID(edmx id),因为它将在上下文中创建(因为可以从任何外部使用者调用Web服务)。

但我也在寻找更多解释为什么将edmx类暴露为Web服务并不是一个好的设计。如果您认为没问题,请告诉我。

感谢

1 个答案:

答案 0 :(得分:0)

通常认为良好的设计实践是保持Web服务的数据协定和与数据库关联的数据模型对象是分开的,这样,如果需要,您可以更改Web服务背面使用的实体模型,而无需更改您向服务的使用者公开的接口。