wcf - 通过 API 公开 Entity Framework 类——好主意还是坏主意

标签 wcf entity-framework entity-framework-4 poco dto

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

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

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

最佳答案

我们认为这是个坏主意。

您的 WCF 接口(interface)是您与外界的契约。

内部数据库的变化不应导致外部契约(Contract)的变化。如果您的外部契约(Contract)被 10 个其他系统使用,协调工作可能会非常大,以至于无法进行任何更改。

当然,在某些情况下,小型系统和单个客户端的生命周期可能很短,这可能是合适的。

关于wcf - 通过 API 公开 Entity Framework 类——好主意还是坏主意,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9519618/

相关文章:

c# - WCF 4.0 SOA 提交作为事务

WCF - 在 net.tcp ://. .../Querier.svc 处没有可以接受消息的端点监听

c# - 双向客户端服务器网络通信

c# - Entity Framework - 唯一索引上的 UPSERT

c# - 就地交集两个不同类型的集合

c# - 是否可以让 Entity Framework 识别已创建但尚未保存在数据库中的对象?

entity-framework-4 - 我是否需要 .SaveChanges() 才能获得外键的 ID?

c# - 如何将 WCF 重定向到外部 URL(Google AdWords 登录)并处理响应?

C# 在属性更改时运行逻辑

c# - 拦截IQueryable Provider的 'Expression'属性并获取其e-sql