问题标签 [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.
javascript - executeQueryLocally 错误
Breeze 的最新版本似乎破坏了 executeQueryLocally。例如:
我遇到的问题是stringEquals
在getPredicateFn
.
在上面的简单查询的情况下,trim()
正在调用 id 导致
5 没有方法'trim'
例外。
这是 Breeze stringEquals 函数:
编辑
id
定义为int
在 Items 模型上,并且是 中的数字JavaScript
。Breeze 的早期版本没有这样做stringEqual
,因此没有尝试修剪数字。
asp.net-mvc - 多个模型和 Breeze 上下文的元数据问题
有没有其他人尝试在具有多个 EF 模型的多个 Api 控制器的解决方案中使用 Breeze.js 的服务器端组件?
我发现在一个上下文中调用 MetaData 端点后,在其他上下文中对 MetaData 端点的所有后续调用都会从第一个调用的上下文返回 MetaData,例如说我有两个 Api 控制器,每个都有自己的 MetaData 端点:
调用 ~/Core/MetaData 将返回 Core 模型的 JSON,但是随后调用 ~/Forms/MetaData 不会返回 Forms JSON,而是返回 Core 元数据。如果我反过来调用它们,我两次都会得到表单元数据,这个问题似乎一直存在,直到主机进程被回收。
我可以确认我能够按预期从两个模型访问对象数据,所以我怀疑这是一个路由问题。
也许有人可以告诉我是否需要禁用某些缓存?
问候,
汤姆·特雷根纳
breeze - hasChanges() == true 在 Appstart
编辑:JSON不完整,不得不削减一些
第一次从服务器查询时,某个实体以某种方式具有“已添加”的 EntityState。我在 DBContextInitializer 中创建了 3 个用户。每次我启动我的应用程序时都会发生这种情况。如果我打电话,它将处于“未更改”状态Manager.rejectChanges()
,但我必须手动执行此操作。
如果我不这样做,并保存另一个实体(可能是团队/订单/订单详细信息),则特定用户将被保存为其原始实体的副本,具有唯一键但具有相同值(如名称等)。如果我可能忘记了什么,我检查了我的代码十几次,但我不会在任何地方调用此用户实体的任何状态更改。
这是Manager.getChanges
(“用户”的实体类型)的打印:
我无法从中提取很多信息,但我认为这个特殊部分很奇怪。为什么该数组中的第三个对象null
但在该数组之后不久显示为“已添加”状态:
如果有帮助,我可以提供更多信息。
javascript - 如何使用 EntityManager 的 saveChanges() 方法保存单个实体?
假设我有以下数据结构:具有订单集合(1 到 n 关系)的客户实体。因此,返回一个由零个或多个Orders组成的数组。Customer.Orders()
现在,我创建了一个新的Customer newCustomer
和一个新的Orders实体数组。此Orders实体数组分配给Customer。所有实体都具有“已添加”实体状态。
然后,我调用saveChanges()
如下:
我根据本文档使用了saveChanges()
's参数: http ://www.breezejs.com/sites/all/apidocs/classes/EntityManager.html#method_saveChanges[entities]
我希望 thenewCustomer
及其Orders数组都保存在服务器中,但只 newCustomer
保存了 。
有什么方法可以保存newCustomer
及其Orders数组吗?也许我可以在[entities]
参数中传递所有实体,但这会很冗长并且有一点错误。我知道我只能调用saveChanges()
方法来保存所有实体,但我只想完全保存一个特定的实体。
提前致谢,
贝尔纳多·帕切科
breeze - 本地查询排序问题
我遇到了排序和executeQueryLocally()
.
一些例子:
- 对名称为“Group”的属性进行排序确实有效:
.orderBy("Group");
- 对名称为“Name”的属性进行排序不起作用:
.orderBy("Name");
在这种情况下,不会引发错误,但不会对数组进行排序。 - 对“组和名称”进行排序确实有效:
.orderBy("Group, Name");
- 使用“desc”对上述任何内容进行排序都不起作用:
.orderBy("Group desc");
在这种情况下,会引发如下错误:Object Group1 has no method 'getProperty'
不幸的是,我没有机会调试比较器以查看发生了什么。
knockout.js - Breeze 多次查询一个淘汰赛 observable 数组
我被困在这一点上,无法继续。
我正在以这种方式为搜索表单创建 ViewModel:
稍后当用户单击查找按钮时,它会触发查找方法(此处简化):
query* 方法仅将数据放入 Knockout.js 可观察数组中:
问题是 querySucceeded 永远不会被调用,并且 Knockout.js 的数据永远不会更新触发数据绑定。
我做错了什么?
这是视图模型。有点不完整和模糊。我想我没有正确理解微风查询的承诺:
knockout.js - Breeze 不会生成 ko observables
我对一个简单的 MVC4 + ko + 微风 webapp 有以下问题:查询返回的微风实体是简单的 javascript 对象,没有 ko 可观察对象。我检查了 todo 样本(它正确返回了 ko 可观察对象),但我没有找到将微风配置为与 ko 一起使用(并生成可观察对象)的地方。我尝试添加以下几行,但没有任何改变:
提前感谢您的帮助
breeze - 是否有计划公开 Breeze.WebApi.EntityInfo 类的所有成员?
我需要继承 Breeze.WebApi.ContextProvider,但它使用具有内部构造函数的 EntityInfo :( 是否有计划公开 EntityInfo 类的所有成员?
breeze - Breeze 0.73.3 在保存后无法正确发布 hasChanges
使用微风 0.73.3。基于 John Papa 的 Breeze 版本的 Code Camper 为我的应用程序建模 - http://www.johnpapa.net/recent-presentation-on-spa-basics/。manager.hasChanges 似乎有问题。Manager.rejectChanges() 将 hasChanges 发布为 false。Manager.saveChanges() 不会发布对 hasChanges 的任何更改。当然,它应该在成功保存后发布为 false。
breeze - 防范恶意数据更改的策略
寻找防范恶意数据更改的想法:userA 操作(编辑或删除)属于 userB 的数据。由于我们在客户端上创建实体,我们需要将它们(或至少其中一些)分配给经过身份验证的用户。
例如:
假设我们知道调用我们 API 的用户的身份,SaveChanges
我们如何针对该用户验证我们的实体(新的或修改的)?
想到的第一个想法是根据我们用户的身份继承EFContextProvider
、覆盖BeforeSaveEntity
和检查实体属性。OwnerId
例如:
_currentUserId
如果使用这种方法,在我们的新类的构造函数中建立是否有意义EFContextProvider
?
解决这个问题的想法或更好的方法?