代码之家  ›  专栏  ›  技术社区  ›  John Kattenhorn

WCF数据服务使用基于EF的存储库中的数据

  •  3
  • John Kattenhorn  · 技术社区  · 16 年前

    我们有一个基于EF4/POCO的现有存储库,并且运行良好。我们希望使用WCF数据服务添加服务层,并寻求一些最佳实践建议。

    我现在已经停止了这种方法,我想也许我们应该从存储库中公开OBjectContext,并使用EF的更多“自动”功能。

    有没有人得到过将存储库模式与WCF数据服务结合使用的建议或示例?

    2 回复  |  直到 16 年前
        1
  •  0
  •   Doobi    16 年前

    WCF数据服务和oData是相当新的,我也一直在寻找指导,它似乎有点薄。

        2
  •  0
  •   Pete - MSFT    15 年前

    你能更详细地描述一下你想公开什么,以及谁会使用它吗?

    • 拥有MyRepository:Objectcontext和 MyDataService:DataService拆分逻辑,因此 创建助手。我想我们可能已经继承了存储库了-(在我输入这个时,我确实想到了这一点!)
    • 查询和更改拦截器是您的朋友,但是 干的ie-如果您的存储库已经存在 myservice.svc/Users无法处理, 您可能需要实现一个查询 同样,DRY指的是一个助手(或基本方法),它 存储库和拦截器可以 使用。
    • 很好地接入到身份验证/ 授权-在查询中 拦截器,这是一个很好的方法 确保只允许您查看 你可以看到的东西。

    几个陷阱。。。。

    1. 如果它是基于Flash/Flex的,您将 可能与Flash有关/ Flex无法使用HTTP 放置/合并或删除。你四处走动 这是通过使用x-httpmethod-override实现的

    2. 如果是javascript/jquery,则

    总的来说,我真的很喜欢它,它是一种公开API的超快速方法,如果您没有繁重的业务逻辑,它工作得很好。