问题标签 [breeze]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
breeze - 从 EntityManager 导出实体时出现微风错误
尝试导出实体时出现以下错误:
“无法调用 null 的方法 'getProperty'”
但仅当我在我的经理缓存中有一个标记为删除的实体时(在调用 saveChanges() 之前)
这给了我错误:
相反,在调用 saveChanges() 然后调用 exportEntities() 之前添加或修改实体不会产生错误!
对此的任何帮助,非常感谢!
breeze - 具有多部分键的实体的自动生成键
我试图用由外键和自生成字段形成的多列主键创建一个新对象,我发现了这个错误:
无法为具有多部分键的实体自动生成 ID。
现在,虽然不是最合适的,但我会更改密钥,但问题是:
您是否计划很快支持自动生成的多列主键?
我也会将请求添加到 uservoice。
问候。
编辑以解释用例:
你好,
诚然,由外键和自生成字段组成的主键可能没有意义。
我的想法是建立一个这样的表:
作为第一步,我做了一个这样的表:
其中 ChildID 是一个自行生成的字段。
所以你可以忽略我的问题。
问候。
typescript - Breeze.js 类型实体
有没有一种方法可以像 JaySvcUtil 为 JayData 工作一样使用 Breeze 创建类型化实体?这是否包括 Typescript 支持 - Breeze 框架中是否也有一般的 Typescript 支持?
knockout.js - 扩展实体以创建需要导航属性的计算可观察对象
我正在尝试扩展一个实体以创建一个需要导航属性的计算 observable:
问题是当创建 observable 时,导航属性还不存在。
我能做些什么来解决这个问题?
typescript - BreezeJS - 如何编写复杂的查询?
如何使用 BreezeJS + OData 或 WebAPI 编写复杂的查询?我想在 JayData 中使用 Northwind 作为参考数据库是这样的吗?我的问题是我不知道如何表达同时引用数据库的查询(不是与常量相比的字段)以及具有复杂逻辑树(a || (b && c))的查询?
我的另一个问题是关于 TypeScript + 查询。如何在 BreezeJS 中使用箭头函数进行查询?因此,有一种方法可以代替表达式构建器:
感谢您的帮助,如果这些是明显的问题,对不起。
breeze - 在微风中处理日期
我在处理日期时遇到了一些麻烦。
我有一个带有日期字段的对象:
公共日期时间 FechaInicio{get; 放;}
此定义在数据库中生成以下字段:
FechaInicio 日期时间不为空
向 Web 服务发出请求,我得到以下格式的日期(在 JSON 中):
“FechaInicio”:“1982-12-02T00:00:00”
并在 tne 实体上调用 FechaInicio() 返回一个 javascript Date 对象。
创建一个新实体我得到以下值:
毕竟,我真正的问题是:我应该使用什么格式来为日期类型字段分配新值?
编辑:
在做了一些测试之后,我注意到如果我为属性分配一个 Date 对象,一切似乎都很好,直到我们到达这一行:
saveBundleStringified var = JSON.stringify (saveBundle);
saveBundle 内容为:
和 saveBundleStringified:
最后存入数据库的是:2012-12-19 23:00:00.0000000
当调用 SaveChanges 的结果被返回时,它们会在执行此检查的函数 updateEntity 处与缓存中的实体合并:如果 (!core.isDate(val)) 返回 false。结果,它创建了一个带有错误日期的新 Date 对象:
如果我错了,请纠正我,但我认为这就是问题所在。
local-storage - 是否有在 SPA(html5 单页应用程序)中同步本地和远程数据的最佳实践/模式?
我正在使用 jqueryMobile + 淘汰赛 + 微风 + WebAPI 编写一个简单的“todo - helloworld”,以了解移动环境中的 SPA(单页应用程序)(不可靠的互联网连接)
为了启用离线使用,WebApp 将利用
- 应用程序缓存
- 本地存储
应用程序应尽可能使用远程数据库来加载和保存数据,但应能够在离线时无缝切换到本地存储,并在重新在线时同步本地/远程更改。
现在回到问题:应用程序将使用 Breeze 的 EntityManager 来管理数据(本地缓存和远程同步)
- “远程数据库”
为了减轻不一致/并发问题,我将使用 2 个本地存储密钥:
- “localDb”用于远程数据库的本地副本(待办事项列表)
- “localPendingChanges”表示应用程序无法提交到远程数据库的更改
所以流程或多或少是(伪代码):
您如何看待这种方法?是不是一团糟?可以吗?多用户场景下的并发问题怎么办?
breeze - 并发检查/数据类型
在微风.debug.js 中:
我的模型上有时间戳。为什么不建议这样做?ASP.Net 上的 EF 教程使用时间戳。您会推荐什么作为 Concurrencycheck 列?
guid - Breeze:如何为客户端上的新实体创建 GUID 键?
使用 Breeze,在创建实体时填充 GUID 键的最简单方法是什么?
validation - 服务器端验证
我无法弄清楚如何将服务器端DbContext
验证错误返回给客户端。我知道 Breeze 有默认验证器,可以对一些属性做出反应,例如Required
,但是所有其他属性呢?我可以为 Breeze 编写一个自定义 JavaScript 验证器,它将在客户端进行检查,但我还需要检查以确保实体在服务器端有效。
例如,应用程序需要Person
一个有效的电子邮件地址。恶意用户出现并通过客户端获取电子邮件地址,并将无法通过EmailAddress
验证器的数据发布到服务器。到目前为止,我对 Breeze 的体验是电子邮件地址将保存并且不会出现任何DbContext
实体框架错误。
假设下面的模型,获得任何实体验证错误的最佳方法是什么?
更新 1:
以下是重新创建我遇到的问题的一些说明。
- 按照说明创建“Todo”示例 ( http://www.breezejs.com/documentation/start-nuget )
在文件中添加一个新的自定义验证器
/li>BreezeSampleTodoItem.cs
:使用新的自定义验证器装饰该
/li>Description
字段:当然添加正确
using
的 s (System
和System.ComponentModel.DataAnnotations
)。- 运行项目。
- 在描述字段之一中键入“错误”并保存。
这是我希望看到 Breeze 出现错误的地方,甚至DbEntityValidationException
是 Entity Framework 抛出的错误。我已经在 2 台不同的计算机上尝试过,结果相同。实体保存到数据库中,就好像没有错误一样。事实上,如果你IsValid
在自定义验证器的方法内的任何地方放置一个断点,你会看到它甚至没有被调用。