0

我正在尝试设置 WCF 服务以在数据库表中创建一个条目并返回相同的条目以及一堆相关数据作为服务响应。

我正在使用带有存储库模式的 EF 来完成所有 DataAccess 工作。由于传递的参数是安静的巨大列表(15+)。

复杂类型(DTO)是更清洁的方式吗?或任何其他替代方案。

我正在寻找更清洁和简单的实现......

更多细节...

1)使用服务端和存储库端共享的所有参数信息创建 DTO 对象。

    Public class RecordDTO
    {
     public string param1;
     public string param2;
     .....
     public string param15;

    } 

2)使用 DTO 对象从 Service 方法传递到 Repository(两个项目都应该有权访问 DTo)

   Repository.CreateRecord(RecordDTO myRecordObj)

3) Repository 接收到这个并解析数据并执行各种 DataAccess 逻辑并返回传递回的 Model 对象,该对象了解服务以及客户端。

我只是在探索并尝试看看这是否可能。

4

1 回答 1

0

您可以添加 CreateRequest dto,并将所有参数封装在其中。这样做更好,原因有很多,其中一些是: - 更好的可读性 - 更简单的方法签名 - 防止破坏性更改..

如果这些参数必须与多个存储库方法调用一起保存,您可以在服务方法实现中添加事务范围。

我想所有这些参数在逻辑上都属于这个 CreateRecord 操作(一个事务)。如果他们不这样做,您可以将其拆分为多个服务方法..

于 2012-04-23T21:06:12.347 回答