【发布时间】:2010-11-30 21:29:46
【问题描述】:
使用 odata 服务,我们可以在不使用 dto 的情况下从客户端进行查询。如果我使用 odata svc,我真的需要 dto 层吗?如果我不使用 dto,有什么缺点和优点。在我们用于查询机制的旧系统中,有许多返回 dto 集合的查询服务方法。但是 odata 服务让我很困惑……看起来像;服务器的责任转移到客户端。对于事务脚本,同样的混乱还在继续。我很好奇你的想法。
【问题讨论】:
使用 odata 服务,我们可以在不使用 dto 的情况下从客户端进行查询。如果我使用 odata svc,我真的需要 dto 层吗?如果我不使用 dto,有什么缺点和优点。在我们用于查询机制的旧系统中,有许多返回 dto 集合的查询服务方法。但是 odata 服务让我很困惑……看起来像;服务器的责任转移到客户端。对于事务脚本,同样的混乱还在继续。我很好奇你的想法。
【问题讨论】:
当您在服务器端时 - 对 oData 来说唯一重要的是 EDM 模型或 POCO 模型。因此,当您生成 EDMX 文件时,您始终可以将它们视为您的业务对象或模型层,然后将其泵入这些名称空间。因此,在某种程度上,您没有在其中应用业务逻辑。
但在客户端,您始终可以集中 oData 方法调用。由于它们支持回调,因此您始终可以让视图模型调用存储库并将回调传回。这样,您就不会因大量的 odata 查询调用而使您的视图模型膨胀。我说的是某种存储库模式。
希望这能给你一个方向。
问候 :)
【讨论】: