C# 我有一个返回项目的API,所以我需要一个服务/存储库,另一个提取层

C# 我有一个返回项目的API,所以我需要一个服务/存储库,另一个提取层,c#,.net,wcf,repository-pattern,service-layer,C#,.net,Wcf,Repository Pattern,Service Layer,我有一个API a DLL,它有各种方法返回对象/项集合 我想创建一个Web服务,将项目返回给调用客户端 那么,最好的方法是什么,在我的API上调用我的方法目录,然后使用automapper将它们转换成DTO并返回到Web服务 我的API在内部使用服务/存储库层 从my API返回的信息的格式并不总是正确的。因此,我必须做一些调整或编写新的方法 因此,最好的办法是拥有自己的服务/存储库层,该层将为我的WCF服务查询数据库目录,而不是使用API 或者对我可以使用的大多数项目使用API,并为API中

我有一个API a DLL,它有各种方法返回对象/项集合

我想创建一个Web服务,将项目返回给调用客户端

那么,最好的方法是什么,在我的API上调用我的方法目录,然后使用automapper将它们转换成DTO并返回到Web服务

我的API在内部使用服务/存储库层

从my API返回的信息的格式并不总是正确的。因此,我必须做一些调整或编写新的方法

因此,最好的办法是拥有自己的服务/存储库层,该层将为我的WCF服务查询数据库目录,而不是使用API

或者对我可以使用的大多数项目使用API,并为API中不可用的项目实现自己的服务/存储库

我不想重复我的工作,但我真的看不到任何选择


也许服务/存储库应该由我的WCF和我的API共享?

这似乎是实现它的最快方法,同时保持可维护性(例如快速3次),就是从服务中使用API。因此,您的Web服务方法将调用您的API

如果返回给调用方的是可序列化对象,而不是采用实体框架的EntityObjects,则不需要映射到DTO。只要返回对象,WCF就会自动返回DTO