2012-03-01 85 views
3

我一直在开发一个带有实体框架后端的WCF服务。当涉及在WCF服务和客户端之间传递数据时,我曾考虑在设置POCO之前使用POCO或DTO。只有当我开始编码时,我意识到我从未考虑过使用EF实体在客户端和WCF服务器之间传递数据。通过WCF暴露实体框架类 - 好主意或不好

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

我希望这个问题不会太主观碰到过,但我想了解这是否是一个可能设计选项,而不是一个问题的最佳设计解决方案(这将是一个高度主观问题)。

回答

5

我们认为这是一个坏主意。

您的WCF界面是您与外界的合同。

您内部数据库的更改不应导致您的外部合同发生变化。如果您的外部合同被其他10个系统使用,那么协调工作可能会很大,以至于无法进行任何更改。

当然,可能会出现一个小系统的情况,只有一个客户端,而且这个系统的寿命可能很短,在这种情况下可能是合适的。

+0

谢谢,当你这样说的时候,你的回答很有意义。我认为有一点关于揭露这样的EF实体的消息。 – GrandMasterFlush 2012-03-01 16:38:07