javascript - 对于映射实体, Breeze 日期未正确具体化

标签 javascript breeze

我有一个日期属性从我的服务器进入 Breeze。 JSON 看起来像这样

"CreateTime":"2014-05-22T00:00:00.000"

属性在元数据中的映射如下:

{
    "name":"CreateTime",
    "type":"Edm.DateTime",
    "nullable":"false",
    "precision":"7"
}

但是,在查询结果中,日期始终以纪元结束(1970 年 1 月 1 日)。但是,这种情况发生在实体在 Breeze 中映射时。如果我针对实体选择以便返回未映射的类型,则日期将以相同的方式通过线路发送,但效果很好。

如何获取映射实体正确实现的日期?

使用 Breeze v1.4.11

更新

这是在我的实体上调用 getEntityType 的结果:

{
   "shortName":"VDisplayEvent",
   "namespace":"Model",
   "autoGeneratedKeyType":"None",
   "defaultResourceName":"VDisplayEvents1",
   "dataProperties":[
      // Other properties...
      {
         "name":"createTime",
         "dataType":"DateTime",
         "isNullable":false,
         "defaultValue":"1900-01-01T08:00:00.000Z",
         "validators":[
            {
               "name":"required"
            },
            {
               "name":"date"
            }
         ]
      },
      // Other properties...
   ]
}

最佳答案

问题已找到,而且不是 Breeze 的问题。我的应用程序正在使用一个主题,该主题依赖于 date.js 。显然,date.js overrides Javascript's Date.parse() function ,由 Breeze 的 DataType.parseDateAsUTC() 使用。

Date.js 的 Date.parse() 函数在解析像上面这样的日期字符串时仅返回 null,这导致了问题。

关于javascript - 对于映射实体, Breeze 日期未正确具体化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24045604/

相关文章:

javascript - 如何使用递归对给定整数以下的所有整数求和

Javascript SPA 多语言和 LocalStorage

c# - 带有导航属性的 BreezeJS 查找

Javascript/jQuery HD 在 flowplayer 上切换

javascript - 在 Karma/Jasmine 测试中模拟 Enter 键按下输入

angularjs - Breezejs,如何在启动时使用共享 EntityManager 获取元数据

sharepoint - Breeze .js 和 SharePoint 2013

javascript - Breeze createEntity 类型无法识别

javascript - 什么是 "types first"流架构?

javascript - 如何在同一网页上创建两个连接列表?