这是我第一次使用 WCF DataServices,但是当我实现我的服务类时,我只需引用我的 DBContext 就能够启动并运行一个简单的实体支持服务,例如:
public class MyDataService : DataService<MyDBContext>
然后我可以简单地选择我想要公开的实体,它就可以工作,这很酷。但事情从来没有像开发人员那么简单吗?我的情况更复杂,所以我有两个问题:
- 在上面的 MyDBContext 的简单情况下,我不必担心连接字符串,因为该上下文反映了在整个应用程序中共享的单个数据库,因此连接字符串仅存储在配置中并使用默认构造函数进行实例化。但是,我还需要公开对特定于部门的第二个 DBContext 的访问(我们称之为 DepartmentDBContext)。换句话说,取决于谁发出请求,我需要将它们路由到他们的特定数据库(所以相同的上下文,但根据请求用不同的连接字符串实例化)。应该如何处理最好?
- 除了我的消费者或多或少可以完全访问的 DepartmentDBContext 之外,我还需要公开存在于不同数据库(以及不同的 dbcontexts)中的有限数据片段,因此我需要建立一种机制来做到这一点而不暴露我的整个数据模型。实际上,我需要公开的只是一些 Ids 和 Name 属性(想象一下 DepartmentId、CustomerId、CustomerName、AccountID、AccountName 等)。我的想法只是将这些属性包装到一个 POCO 中并将其公开给消费者,因为这就是他们最终需要的,但我不确定我应该如何通过 WCF DataServices 编写它,因为它不会被绑定到单一的上下文。
提前感谢您提供的任何提示或建议