WCF服务方法使用多个参数实现到存储库

时间:2012-04-23 20:34:02

标签: wcf

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

我正在使用EF with Repository Pattern来完成所有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)存储库接收到并解析数据并执行各种DataAccess逻辑并返回传回的Model对象,该对象了解服务以及Client。

我正在探索并试图了解这是否可行。

1 个答案:

答案 0 :(得分:0)

您可以添加CreateRequest dto,并封装其中的所有参数。这有很多原因,其中一些是: - 更好的可读性 - 更简单的方法签名 - 防止发生变化..

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

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