我在这里有点困惑。
我使用从数据库建模的实体框架创建了我的 POCO 类。
显然,我也想在客户端中使用这些类(如果我想将它们发回并重新附加,任何对它们的簿记都会很好)
我查看了为 WCF 服务引用生成的类,通过 Internet 发送似乎有点冗长,但在安全方面看起来没有任何风险。
然而,我在网上找不到任何关于这样做的信息。我会走上一条完全糟糕的道路吗?
帮助?
编辑:如果我让它们由数据库中的 EntityFramework 生成,我想它们在技术上不是 POCO 类;只是为了消除任何可能的混淆。
我在这里有点困惑。
我使用从数据库建模的实体框架创建了我的 POCO 类。
显然,我也想在客户端中使用这些类(如果我想将它们发回并重新附加,任何对它们的簿记都会很好)
我查看了为 WCF 服务引用生成的类,通过 Internet 发送似乎有点冗长,但在安全方面看起来没有任何风险。
然而,我在网上找不到任何关于这样做的信息。我会走上一条完全糟糕的道路吗?
帮助?
编辑:如果我让它们由数据库中的 EntityFramework 生成,我想它们在技术上不是 POCO 类;只是为了消除任何可能的混淆。
如果不了解有关您的系统的更多详细信息,这是一个很难回答的问题,但最终在 WCF 服务合同中公开您的 EF 实体是否是正确的路径取决于您正在开发的应用程序的范围和要求。
也许问自己以下问题,希望能指导您做出决定:
总而言之,在少数情况下公开 EF 实体可能是可以接受的,但通常我会设计更改并实施某种模式,将 EF 实体映射到存储库中的轻量级“持久性无知”POCO层。EF 4.0 确实提供了编写返回 POCO 的上下文的能力,但在我当前的项目中,我们使用 codegen'd 上下文,然后使用automapper将 EF 实体映射到我们的数据合约。在存储库层之外,没有任何人知道 EF 实体,我觉得这可以实现更可维护和更健壮的设计。