【问题标题】:Breeze executeQuery succeeds but returns empty objectsBreeze executeQuery 成功但返回空对象
【发布时间】:2013-12-06 22:46:26
【问题描述】:

我正在使用最新的(截至今天)BreezeJS、AngularJS、.NET、Entity Framework 等。

我有一个看起来设置正确的 Breeze 应用程序,但是从 executeQuery(query) 返回的 results.data 包含空对象(即它们评估为 null)。

我正在使用 BreezeJS take(1) 过滤器并获得一个结果以保持简单。

我可以调出元数据页面(例如 ~/breeze/appname/Metadata)并查看 SQL Server 数据库列。

那么,会发生什么?有谁知道从概念的角度来看是什么问题?

客户端查询:

 var query = breeze.EntityQuery
        .from("Biography")
        .select("ENTITY_ID, NAME, NICKNAME")
        .orderBy("ENTITY_ID")
        .take(1);

服务器端 [HttpGet]:

[HttpGet]
    public IQueryable<BIOGRAPHY> Biography()
    {
        var biography = _contextProvider.Context.BIOGRAPHY;
        return biography;
    }

编辑的 JSON 响应:

[{
  "$id":"1",
  "$type":"_IB_JNMBHFIpB3WQZ6daOssY9Dxx_p8Y[[System.String, mscorlib],[System.String, mscorlib],[System.String, mscorlib]], _IB_JNMBHFIpB3WQZ6daOssY9Dxx_p8Y_IdeaBlade",
  "ENTITY_ID":"4815162342",
  "NAME":"Mr. Hugo Reyes",
  "NICKNAME":null
}]

【问题讨论】:

  • 客户端查询长什么样,服务端[HttpGet]方法长什么样>
  • @JayTraband 谢谢,我在问题中添加了客户端和服务器端代码。
  • 你确定你真的要退货吗?您还可以发布从浏览器网络选项卡返回的原始 json 吗?
  • @PWKad 令人惊讶的是,记录的数据在 JSON 响应中,而不是在 Breeze 中的 data.results 变量中。我更改了返回记录中的名称以保护无辜者并更新了我的问题。
  • 很高兴你找到了它。祝 Breeze 好运。

标签: c# .net breeze entity-framework-6


【解决方案1】:

AngularJS 输出上区分大小写:而不是 item.entity_id,它必须是 item.ENTITY_ID 以匹配 JSON 响应的大小写。谢谢大家让我思考。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-30
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 2019-09-15
    • 2017-02-20
    相关资源
    最近更新 更多