通过API公开实体框架类 - 好主意或坏主意

Gra*_*ush 3 wcf entity-framework poco dto entity-framework-4

我一直在开发一个带有实体框架后端的WCF服务.当在WCF服务和客户端之间传递数据时,我考虑在设置POCO之前使用POCO或DTO.只有当我开始编码时,才意识到我从未考虑过使用EF实体在客户端和WCF服务器之间传递数据.

我的问题是:使用EF实体在WCF服务和客户端之间进行数据传输是一个可接受的选择,还是被认为是不好的做法?

我希望这个问题不会过于主观,但我试图理解这是否是一个可能的设计选择,而不是问题的最佳设计解决方案(这将是一个非常主观的问题).

Shi*_*iji 5

我们认为这是个坏主意.

您的WCF界面是您与外界的合约.

内部数据库的更改不应导致外部合同的更改.如果您的外部合同被其他10个系统使用,协调工作可能会很大,无法进行任何更改.

当然,可能存在具有小型系统的情况,其具有单个客户端,具有短寿命,这可能是合适的.