【问题标题】:Breezejs: Return a single entity from a parameterized queryBreezejs:从参数化查询中返回单个实体
【发布时间】:2014-02-06 16:40:37
【问题描述】:

Breeze 有类似 .SingleOrDefault() 的东西吗?

Breezejs 让我的脚都湿透了——真的很酷!我有一个使用参数化查询的案例(所以我在 Breeze 查询中使用 .withParameters())。

我的查询将始终返回一个实体。事实上,它在 WebApi 控制器上是这样定义的:

public MyEntity GetThisSpecialEntity(int theParameter) {}

(请注意,它不返回 IQueryable 或 IEnumerable,而只是返回实体。

查询执行后,从微风中返回的数据似乎是一个 1 的数组,其中包含我的实体。

现在我可以获取 data[0] 并分配它,但我想知道这是否是我应该做的,或者 Breeze 是否有类似 LINQ 的 .SingleOrDefault() 方法的东西?

【问题讨论】:

    标签: javascript asp.net-web-api breeze single-page-application


    【解决方案1】:

    是的,Breeze 查询的标准结果是一个数组,开发人员可以将查询结果写入他们想要的任何内容。在您的情况下,如 Breeze 网站上所示,只需使用 data.results[0]

    【讨论】:

      【解决方案2】:

      您可以只返回一个实体。当您的经理执行 get 查询时,您只需要返回单个结果,如下所示:

      例如,如果您的 datacontext 服务中有一个 executeGetQuery 函数,您可以在其中传入查询对象:

      var executeGetQuery = function (query, observable) {
      return manager.executeQuery(query).then(function (data) {
      if (observable) {
      observable(data.results[0]);    // Do it here
      }
      

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 2011-05-30
        • 1970-01-01
        • 1970-01-01
        • 2021-04-23
        • 2011-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多