gpt4 book ai didi

WCF DataContracts 和底层数据结构

转载 作者:行者123 更新时间:2023-12-03 23:34:47 25 4
gpt4 key购买 nike

我想知道通过 WCF 服务公开哪些对象有什么意义 - 我应该将 WCF 序列化规范添加到我的业务实体,还是应该实现一个转换器将我的业务实体映射到我想通过我的 WCF 公开的 DataContracts服务?

现在我有不同级别的实体:DataAccess、Business 和 Contract。我有转换器,可以将实体从 DataAccess 映射到 Business,从 Business 映射到 Contract,反之亦然。实现和维护这些既耗时又乏味。与此相关的最佳做法是什么?

如果我使用的是 OR/M,例如 NHibernate 或 Entity Framework ,我应该直接从 ORM 公开实体,还是应该像现在一样抽象它们?

最佳答案

一般来说,我认为从最佳实践的角度来看,您不应将业务对象的结构公开为数据契约,而应定义“特定于数据契约的”类并将业务转换为契约。它可能需要额外的工作,但从关注点和保护变化的角度来看,额外的工作可能是值得的。

Microsoft patterns & practices "Service Factory Modeling Edition"实现了这一点,并且还提供了自动生成 Business <=> Contract 转换器类的工具——它是一个出色的 VS 加载项,也代表了 Microsoft 的 WCF 最佳实践。

关于WCF DataContracts 和底层数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/83604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com