gpt4 book ai didi

wcf - 通过 WCF 公开实体

转载 作者:行者123 更新时间:2023-12-01 09:31:02 25 4
gpt4 key购买 nike

我有一个使用 ADO.NET 实体数据模型访问 SQL Server 的 WCF。

要在具有七列的表中插入新行,我使用的是 WCF 方法。

我认为发送七个参数太多了,所以我可以使用结构或表的实体对象。

你怎么看?您是否建议我通过 WCF 公开实体对象?或者我需要使用一个结构来避免这样做。

最佳答案

这取决于您的应用程序的大小/复杂性。公开实体是可能的,但在传输整个对象图(实体及其关系)时可能会导致一些序列化问题。这些问题通常通过使用 DataContractDataMember 属性标记实体来解决(如果您使用 EFv1 或 EFv4 中的默认实体生成 = 无 T4 模板,则默认使用)。

如果您想遵循干净的架构和良好的关注点分离,建议您使用您描述的第二种方法,但它会使您的应用程序更加复杂(另一层对象、转换等)。为数据传输而创建的结构或类通常称为 DTO(数据传输对象)。

数据传输对象允许您仅传输实体所需数据的必要子集。例如,如果您在实体中有一些基础结构属性(如 CreatedAt、CreatedBy),您将不希望客户端设置这些属性,因为设置它们是服务的职责。因此,没有必要让客户通过它们。通过不在 DTO 中公开这些属性,您将清楚这一点。

关于wcf - 通过 WCF 公开实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5847750/

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