标签: breeze

如何使用Q.js正确链接条件(?)promise

如果这是一个简单的误解,我还没有完全理解承诺,所以道歉.

我有一个删除页面上的项目的功能,但我有一个特定的行为取决于页面的状态.Psuedo代码方式它是这样的:

Does the page have changes?
    If yes - prompt to save changes first
         If yes - save changes
         If no - exit function
    If no - continue
Prompt to confirm delete
    If yes - delete item and reload data
    If no - exit function
Run Code Online (Sandbox Code Playgroud)

希望这是有道理的.基本上如果有变化,必须先保存数据.然后,如果数据已保存,或者如果没有开始更改,则提示用户确认删除.问题是我正在使用durandal和微风,我似乎无法将他们正确归还的承诺链接起来.

我的功能目前看起来像这样,我知道这是错误的,但我正在努力找出解决问题的方法.

if (this.hasChanges()) {
    app.showMessage('Changes must be saved before removing external accounts.  Would you like to save your changes now?', 'Unsaved Changes...', ['Yes', 'No'])
        .then(function (selectedOption) {
             if (selectedOption === 'Yes') {
                 return …
Run Code Online (Sandbox Code Playgroud)

javascript breeze durandal q

16
推荐指数
2
解决办法
1万
查看次数

BreezeJS vs JayData用于ASP.NET MVC上的SPA开发

作为一名网络开发人员,我最近发现了与KnockoutJS合作的乐趣,但是当谈到使用服务器时,我几乎完全独立.我已经考虑过BreezeJSJayData的CRUD功能和批处理操作,但我仍然不确定哪一个最适合我.

我现在专注于使用EF的ASP.NET MVC开发,但我可能稍后转向其他平台,因此我不希望局限于一个特定的框架.在这方面,JayData提供了许多BreezeJS的提供商,如OData,webSQL,IndexedDB,localStore,Facebook和YQL,这几乎是压倒性的.BreezeJS确实支持OData,但仅限于消费.

但是,我可能没有想到的易用性,文档和其他关键功能如何?

感谢您帮助我在他们之间做出选择.

asp.net entity-framework knockout.js jaydata breeze

15
推荐指数
1
解决办法
7213
查看次数

如何在BreezeJs中正确发送动作参数和查询

目前我正在调用BreezeJs文档/示例中显示的所有数据查询:

getEntityList = function (predicate) {
  var query = new entityModel.EntityQuery().from("EntityList");
  if (predicate)
    query = query.where(predicate);
  return manager.executeQuery(query);
}
Run Code Online (Sandbox Code Playgroud)

但我想在返回任何可查询结果之前将其他参数传递给控制器​​操作:

[AcceptVerbs("GET")]
public IQueryable<Entity> EntityList(string actionParam) {
  //here goes logic that depends on actionParam
  //and returns IQueryable<Entity>
}
Run Code Online (Sandbox Code Playgroud)

正如我们从文档中所知:

Breeze将查询转换为OData查询字符串,例如:

?$ FILTER =的isArchived%20当量%20false&$排序依据= CreatedAt

这是问题开始的地方.我应该如何构建查询以将param传递给控制器​​操作?

getEntityList = function (predicate, actionParam) {
  var query = new entityModel.EntityQuery().from("EntityList");
  if (predicate)
    query = query.where(predicate);
  if(actionParam)
    // ???
  return manager.executeQuery(query);
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试设置路线:

routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{actionParam}",
            defaults: new { query = RouteParameter.Optional }
        ); …
Run Code Online (Sandbox Code Playgroud)

breeze

13
推荐指数
2
解决办法
6258
查看次数

在没有实体框架的情况下使用Breeze.js

我们正在尝试使用与John Papa的Pluralsight课程(例如,Web API,淘汰赛,jquery等)类似的技术和技术来开发SPA.但是,作为一家公司,我们决定不使用Entity Framework.我们想使用标准ADO.NET编写服务器端数据层.

现在,我们正试图将Breeze整合到我们的解决方案中.然而,即使Breeze网站说他们并没有与微软绑定,但是如果你不使用EF,你将会遇到与Breeze一起漫长而痛苦的旅程.

我们尝试评估NoDB Breeze示例,但是这个问题非常复杂且难以理解(并且弄清楚如何在服务器端的标准分层拱中实现它 - 一切看起来都是紧密耦合的,只是放在MVC/Web API项目的Models文件夹).

所以,我的问题是:

- 如果您不使用EF,Breeze是客户端数据库的错误选择吗?

- 如果Breeze可以很容易地在服务器端使用EF并且只使用直接的ADO.NET,那么是否有更好的示例或文档显示如何执行此操作?

- 鉴于我们的SPA实施非常类似于John Papa的SPA拱门,包括durandal,knockout,Web API等,除了(再次)我们没有使用EF,对我们来说有比Breeze更好的选择吗?

- 然后是SignalR ......我们计划稍后实施SignalR,Breeze是否可以与SignalR一起使用?

谢谢!

javascript entity-framework signalr single-page-application breeze

13
推荐指数
1
解决办法
4080
查看次数

微风错误:非法施工 - 使用'或'结合检查

我遇到了这个Breeze错误

[非法建筑 - 使用'或'结合检查]

在加载实体的编辑页面时在Chrome上.刷新页面时,不再显示错误消息.此错误在我的网站上随机,不定期地发生.我无法使用指定的场景重现它,只是随机地遇到它.

我在Breeze代码中看到此错误消息

if (curContext.prevContext === null) {
    curContext.prevContext = context;
    // just update the prevContext but don't change the curContext.
    return that;
} else if (context.prevContext === null) {
    context.prevContext = that._context;
} else {
    throw new Error("Illegal construction - use 'or' to combine checks");
}
Run Code Online (Sandbox Code Playgroud)

你能否告诉我:基于上面的代码块,在哪种情况下抛出这个错误?

非常感谢.

javascript breeze

13
推荐指数
2
解决办法
770
查看次数

我们如何使用Breeze使用当地时区生存

我写这篇文章是为了收集关于我们方法的评论,希望能帮助别人(和我的记忆).

脚本

  • 我们所有的数据库都使用DateTime没有时区信息的数据类型.
  • 在内部,我们知道数据库中的所有日期/时间都在本地(新西兰)时间,而不是UTC.对于Web应用程序,这并不理想,但我们不控制所有这些数据库的设计,因为它们支持其他系统(会计,工资单等).
  • 我们正在使用Entity Framework(模型优先)进行数据访问.

我们的问题

  • 如果没有特定的时区信息,Breeze/Web Api/Entity Framework堆栈似乎倾向于假设时间是UTC,而不是本地,这可能是最好的,但不适合我们的应用程序.
  • Breeze喜欢以标准UTC格式将日期传递回服务器,特别是在查询字符串(例如where子句)中.想象一下Breeze控制器直接将数据库中的表作为IQueryable公开.Breeze客户端将以UTC格式将任何日期过滤器(where)子句传递给服务器.实体框架将忠实地使用这些日期来创建SQL查询,完全不知道数据库表日期在我们的本地时区.对我们而言,这意味着结果在12到13个小时之间,偏离了我们想要的结果(取决于夏令时).

我们的目标是确保我们的服务器端代码(和数据库)始终在我们的本地时区中使用日期,并且所有查询都返回所需的结果.

timezone datetime entity-framework asp.net-web-api breeze

12
推荐指数
1
解决办法
6243
查看次数

使用Newtonsoft.Json反序列化DbGeometry

我正在按照John Papa在其最新的PluralSight课程中概述的方法,使用Angular,Breeze和Web API 2构建SPA.

一切运作良好,我可以拉取信息,更新,插入,删除回服务器.但是我正在使用空间类型,当我尝试更新具有空间类型的实体时,我收到以下错误

Newtonsoft.Json.dll中出现"Newtonsoft.Json.JsonSerializationException"类型的异常,但未在用户代码中处理

附加信息:从'System.Data.Entity.Spatial.DbGeometry'上的'WellKnownValue'获取值时出错.

内部异常似乎指向WellKnownValue为空的事实,但它不是,因为我检查了发送到服务器的JSON,然后将其发送到Breeze ContextProvider并使用SaveChanges方法保存.

{
"entities": [
 {
  "TableKey": 2,
  "CaseName": "Mikhail Lermontov",
  "StartDate": "2013-06-11T00:00:00Z",
  "EndDate": null,
  "IsCurrent": true,
  "SRID": 109,
  "Shape": {
    "$id": "2",
    "$type": "System.Data.Entity.Spatial.DbGeometry, EntityFramework",
    "Geometry": {
      "$id": "3",
      "$type": "System.Data.Entity.Spatial.DbGeometryWellKnownValue, EntityFramework",
      "CoordinateSystemId": 2193,
      "WellKnownText": "POLYGON ((1695943 5462665, 1713098 5462665, 1713098 5449659, 1695943 5449659, 1695943 5462665))"
    }
  },
  "SpillLocation": "Marlborough Sounds",
  "Image": "http://www.nzmaritime.co.nz/images/lm5.jpg\r\n",
  "DefaultBaseMapKey": 2,
  "__unmapped": {
    "isPartial": false
  },
  "entityAspect": {
    "entityTypeName": "DatSpillCase:#Osiris.Model",
    "defaultResourceName": "DatSpillCases",
    "entityState": "Modified",
    "originalValuesMap": {
      "CaseName": "Mikhail …
Run Code Online (Sandbox Code Playgroud)

c# json breeze

12
推荐指数
2
解决办法
3374
查看次数

AngularJs的数据持久性库

Ember Js和Persistence都有一个alpha版本.AngularJs是否有类似的东西(或者它在计划中)?也许有一些与框架无关的东西?

我需要的是实际的库,它可以实现以下功能:

  1. 定义我的对象模型
  2. 定义模型之间的关系(hasMeny,foreignKey)
  3. 在客户端上启用REST调用和模型缓存

UPDATE

我找到了这些(学分归Miroslav)

data-persistence angularjs breeze

11
推荐指数
1
解决办法
7685
查看次数

Breeze:如何为客户端上的新实体创建GUID密钥?

使用Breeze,创建实体时填充GUID键的最简单方法是什么?

guid breeze

11
推荐指数
1
解决办法
2709
查看次数

日期时间范围的OData查询过滤器

我在服务返回的数据中有一个DateTime属性,如:"SDateTime":"2014-06-29T03:30:00.000"

我需要编写一个查询来获取日期小于"2014-06-26T03:30:00.000"且大于"2014-06-23T03:30:00.000"的集合

如何为dateTime编写过滤器?

谢谢.

odata breeze

11
推荐指数
2
解决办法
3万
查看次数