问题标签 [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.
json - 处理breezejs中的引用
我们正在使用 ASP.NET MVC4 和 Web Api + Ko + Breeze 使用 EF Code First 开发单页应用程序。
我们的(简化的)数据模型如下所示
DefaultImage 是一个导航属性(带有外键)并且是 ImageSets 中的图像之一。
我们公开了 Products() 的 Web API 方法和默认的 Breeze 配置。线路上的 JSON 序列化输出具有对象引用(即 PreserveReferencesHandling.Object),因此当我想绑定 ImageUrl 时,ko 无法解析该值。
html看起来像这样
当我将序列化程序切换为 PreserveReferencesHandling.None 时,绑定有效。
问题:如何使默认配置起作用?或者如果我为 Breeze 切换到 PreserveReferencesHandling.None 有什么陷阱/缺点?
谢谢!
breeze - 微风服务器端元数据是强制性的还是可以在客户端定义?
我正在寻找使用breathjs,并对其功能和附带的最佳实践有一些疑问。
- 服务器端元数据是否必须存在?如果我有一个非 EF WebApi 控制器,我还需要用 ProviderContext 包装它并实现元数据吗?如果是这样,元数据的格式是什么?
- 如果我能够在服务器端省略元数据而只实现可查询的操作过滤器,我还能编写客户端代码来定义元数据吗?我在哪里可以找到有关如何执行此操作的信息?
- 我有一个名为 Job 的服务器模型类,它有一个 ID 和名称,它们是简单的属性和一个名为 Company 的对象属性,它指向一个名为 Company 的服务器端模型类,它有一个 ID 和名称。Job(s) 可以是机密的(通过 Job 上的布尔 IsConfidential 属性),在这种情况下,即使他们仍然有 companyId,该属性也不应该发送给客户端。相反,应该有一个名为 CompanyName 的服务器端计算属性(基本上是 Company.Name 用于非机密作业,“Confidential”用于机密作业)发送到客户端。管理员角色用户应该能够查看和编辑 CompanyId,但普通用户不应该能够查看或发布/放置该值。你如何在微风中做到这一点?微风是否可以很好地处理发送和接收非模型视图模型(更少的属性和一些计算的属性)?
- ODataActionFilter 的源代码的来源是我可以出于任何我想要的目的使用和更改的吗?
- 为 EF 以外的东西创建 WebApi 控制器会有多困难——比如 Telerik OpenAccess?
谢谢
javascript - 使用 jQuery 或 Q.Js 实现承诺
我正在研究BreezeJs,并且有示例使用Q.js来处理异步调用的承诺。John Papa也在使用Q。JQuery 也有承诺。两者有什么区别?
knockout.js - 在微风 js 查询完成后,knockout.js 应用绑定
问题: 如何构造我的代码,以便在执行 ViewModel 的所有查询之前不应用淘汰绑定?
更新: 经过一些进一步的研究和实验,我认为使用类似于 Deferred 函数的东西可能会起作用。我已经尝试了一些实现,但是它只推迟到调用查询,而不是直到处理完所有查询结果。我显然在这里做错了,但我的 javascript foo 很弱。
使用的技术: Entity Framework 5 w/Oracle、.Net 4 Web API、Knockout 2.2、Breeze 0.71.3
情况: Breeze 被用于调用 Web API 方法,该方法检索 POCO 的 Enumerable,填充可淘汰的可观察数组,并且该数组绑定到视图中的选择控件。
问题: 在将 ViewModel 绑定应用到 View 之前,微风查询尚未完成,并且剔除可观察对象尚未填充。返回查询结果时,UI 会在 5 - 7 秒内无响应,同时填充 ko observable 并因此更新选择控件。根据日志记录,这似乎是问题所在......
cshtml 文件:
主.js:
vm.muni 是我的 ViewModel javascript 文件。这是一个公开给执行查询的方法:
这是来自 dataservice.js 文件的微风查询:
ajax - 在 Breeze 中设置 AJAX 标头
在让微风发出请求之前如何设置标头?
示例:我的服务期望某个键成为标头名称“x-service-key”中请求的一部分。到目前为止,我一直在使用 jquery ajax 和 amplify,所以很容易设置标题。由于我无法控制微风发出的请求,我如何传递标头之类的额外内容?
这个问题是由 sujesharukil 在我们的 IdeaBlade 论坛上发布的。我在这里重新发布问题和答案,因为我认为它对 Breeze Stack Overflow 社区很有用。
knockout.js - Breeze 和 Knockout 中的验证
我最近将 Breeze 添加到使用 Knockout 和 ASP.NET MVC4 的项目中。我真的很喜欢 Breeze,它节省了很多编码。
我使用了 Knockout 验证,并且喜欢它如何验证数据输入上的属性字段文本框以及错误消息的显示方式。
我想使用一种组合,其中验证要求在后端与对象属性上的 C# 属性一起定义,验证要求在元数据中接收,然后可以使用 Knockout 验证。
我想我可以通过在前端定义属性并应用 Knockout 验证来解决它,例如
有没有办法使用 Knockout 验证而无需在前端应用验证要求?如果没有,您是否正在考虑这样做?
此问题由 johnvarney 在我们的 IdeaBlade 论坛上发布。我在这里重新发布问题和答案,因为我认为它对 Breeze Stack Overflow 社区很有用。
odata - 将 Breeze 与 OData 结合使用
我将如何对仅使用服务器的元数据来定义模型的 odata 服务使用微风?上下文是否仍然能够处理对非 Web api 服务的 crud 操作?
我见过
我可以做一些事情,比如用 oData uri 替换 serviceName,然后像往常一样继续使用微风吗?
谢谢你的帮助!
这个问题由 jpirok 在我们的 IdeaBlade 论坛上发布。我在这里重新发布问题和答案,因为我认为它对 Breeze Stack Overflow 社区很有用。
entity-framework - 将动态连接字符串与 Breeze EFContextProvider 一起使用
目前我有一个应用程序(web/silverlight),其中我的 ObjectContext 的连接字符串是动态的。它基于用户的登录方式,因为我的每个客户都有自己的数据库。即..用户名@域。我正在尝试找到一种使用 EFContextProvider 的方法,即通过构造函数传递 ObjectContext 或覆盖 GetConnectionString,遗憾的是两者都不支持。
有没有办法做到这一点,或者我可以在某处下载 EFContextProvider 的源代码,以便我自己实现它?
提前致谢。
这个问题由 Marcel 在我们的 IdeaBlade 论坛上发布。我在这里重新发布问题和答案,因为我认为它对 Breeze Stack Overflow 社区很有用。
breeze - BreezeJS core.config 更改
在之前的构建中,我使用了 setProperties 并省略了 trackingImplementation,我决定手动使用淘汰赛来加快速度,(我有很多实体)。
现在它更改为这种语法,即使我注释掉“ko”行,它仍然会创建 observables,有没有办法防止这种情况发生?
properties - NullValueHandling 必须是 JsonFormatter 属性的可选参数
希望开发团队不会错过我的信息。NullValueHandling 必须是 JsonFormatter 属性的可选参数,因为在很多情况下,客户端需要的对象属性与其值无关。我个人在试图确定为什么我的对象没有一半的属性时遇到了一些麻烦。
顺便说一下,限制 DbConext 和实体命名空间以使实体在客户端可观察也不好。
谢谢。