Breeze用EF和webapi查询本地缓存

问题 我可以看到6个下拉列表。其中每个都由一个Web API调用填充。我想要 从远程服务器填充查询后,使用breeze在本地运行查询 当数据调用针对服务器时,代码运行良好。问题是在尝试查询本地缓存时。我从未收到任何返回的结果。我的方法有缺陷还是我做错了什么 服务器端 视图模型 WebAPI[单一样本方法] viewmodel.js Viewmodel.html <select class="dropdown" data-bind="options: KO1, optionsText: 'o

BreezeJS ExecuteQueryLocal和返回字符串

我可以从服务器(使用EF)在breeze中执行查询,该查询返回boostrap数据负载,因此: em.executeQuery(_lookupsQuery).then(function (data) { _lookups = data.results; console.log(_lookups[0].currentUserId); 这将返回作为guid的currentUserId。然后,我使用本地存储存储em,以便以后在本地查询: _lookups = [{ currentUserId: em

Breeze 如何截取删除并通知用户这是不可能的?

我开始使用Breeze.js和ASP MVC+WebApi控制器进行开发。我担心的是安全问题,因为我们都应该担心黑客的可能性。现在我确实找到了BeforeSaveEntity截取之前的,它似乎正是我想要在服务器端使用的。我设法在服务器端获得了我想要的安全性,但是在客户端如何处理它呢?在我使用AngularJS的情况下,我应该捕获输出并如何处理它?让我向您展示我在服务器端使用的一些代码示例: public class ConferenceContextProvider : EFContextPro

breeze-在服务器上基于实体修改实体';s导航属性,然后保存

在服务器端的breeze中,是否有任何方法可以在BeforeSaveEntity(或保存之前的任何其他地方)中获取实体导航属性的“当前”值?我所说的“当前”是指数据库中存在的内容,以及合并的任何传入更改。这不是为了验证,而是基于父字段和子字段计算父属性的值(我不希望在客户端使用该值) 比如说, public class Parent { public ICollection<Child> Children{ get; set; } } 我想他们还不在这个背景下。我所能做的就是从

Breeze 微风中可能有虫子

我想我发现了一只虫子 我现在做的是: 我创建一个新实体并将该实体添加到管理器中 var createConexion = function (origen, destino) { var metadataStore = manager.metadataStore; var conexionType = metadataStore.getEntityType("ConexionPalanca"); var newConexion = conexionType.createE

Breeze 查询不同的值

我现在正努力让它工作好几个小时。我尝试了这些例子并阅读了文档,但我就是想不出来 我想用名称字段从数据库中查询不同的值。 我认为这应该行得通,但行不通。找不到该方法 [HttpGet] public IQueryable<MvlOP> MvlOpsPerson(long mvlId) { System.Data.Entity.Infrastructure.DbQuery<MvlOP> query = ContextProvider.Conte

如何在客户端设置breeze实体的属性?

我试着深入研究这个物体并查看文档,但没有发现任何东西。我已经创建了一个实体,需要手动分配一些属性。我在对象上看到\u backingStore和entityAspect。。。我知道属性名,但不知道如何通过breeze实体设置它们 如果有关系,我将创建一个新对象,然后从另一个对象复制属性以便于克隆 function createDocument() { var manager = datacontext.manager; var ds = datacontext.serviceNa

Breeze:如何判断返回的查询是来自本地缓存还是远程服务器?

我知道你可以调用这个函数来本地查询,如果可能的话,也可以远程查询。有没有办法判断结果来自本地还是远程?我记得我读过一些关于它的东西,但是再也找不到了 manager.fetchEntityByKey('Employee', employeeID, true) .then(function(data) { employee(data.entity); }); 对承诺结果使用“fromCache”布尔属性 manager.fetchEntity

是否计划公开Breeze.WebApi.EntityInfo类的所有成员?

我需要对Breeze.WebApi.ContextProvider进行子类化,但它使用的EntityInfo具有内部构造函数:( 是否有计划公开EntityInfo类的所有成员 public class EntityInfo { internal EntityInfo() { } public Object Entity { get; internal set; } public EntityState EntityState { get; internal

Breeze 微风内存管理-模式/实践?

我有一个旧的SL4/ria应用程序,我想用breeze来取代它。我有一个关于内存使用和缓存的问题。我的应用程序加载作业列表(一个典型用户可以访问大约1000个作业)。此外,还有相当多的查找实体类型。我想确保这些都在客户端缓存良好,但每个会话都会更新。当用户打开一个作业时,它会加载更多的相关实体(200-800个其他实体),这些实体构成作业的多个矩阵样式视图。用户可以查看作业列表,或导航到一次查看一个作业 我觉得我应该关注内存管理,尤其是不知道浏览器如何处理这个问题。最初我觉得这应该是一个Enti

Breezejs中是否存在在添加或删除实体时触发的事件?

我已经四处寻找答案,但到目前为止我还没有找到答案。我想做的是在一个特定的视图模型中有一个事件处理程序,它监听Breeze添加或删除的实体,以便视图模型可以对它正在管理的阵列采取适当的操作。是否存在这样的事件 我的Jobs视图有一个Jobs视图模型,该模型除其他属性外,还包含Job实体的ko.observatarray,以及我的NewJob视图的NewJob视图模型。两个视图模型共享相同的数据服务。我想简单地使用NewJob视图模型中的DataService将一个新的作业实体插入到Breeze中,

使用breeze.js和多数据源

我正在尝试将breeze.js集成到我的SPA中。 使用数据库中提交的实体结构非常简单。 当我需要处理特殊情况时,我遇到了一个问题。我的情况如下: 我需要获取我的实体列表,在第一次仅为显示模式(原始数据存在于外部源中)从外部源填充实体时,当我看到数据时,我可以选择要批准的实体,然后我将实体保存在我的数据库中 你知道用breeze自动管理这个吗 提前感谢…查看微风拉链中的NoDB示例 自动在这里是一个非常离谱的术语。。。创建一个拦截save调用的数据层,并从那里“手动”设置它。没有什么是自动的,我

如何从本地存储websql加载breeze实体

我没有访问OData提供者的权限,只有一个简单的RESTAPI和json,我需要在本地(移动设备websql上)将数据存储在反映后端模型的不同表中。在Edmunds示例之后,我从RESTAPI获得了实体和关系。如何从本地存储的数据使其以相同的方式工作。我想从本地数据库获取数据并重新创建我的实体,如有任何建议,将不胜感激 通过RESTAPI查询数据后,只需将EntityManager导出到本地存储。像这样的 var changesExport = myEntityManager.expo

Breeze 删除然后添加新的相同实体会引发错误

我有一个叫做DeviceAccount的模型。它是一个连接表,允许我创建多对多关系 我有一个函数,通过给它一个帐户和一个要加入的设备来创建一个新的DeviceAccount。请看这里: var createDeviceAccount = function (account, device) { var initialValues = { account: account, device: device };

如何在服务器上优化breeze查询的结果?

我需要在将结果返回到客户端之前,优化服务器上的Breeze controller IQueryable的结果 客户端将向IQueryable资源发出投影查询;客户端查询可能包括where子句和ORDERBY子句 在对数据库执行查询之后(使用实体框架),但在查询结果返回到客户端之前,我想将结果转换为xml或csv格式 由于技术原因,我无法在客户端上执行此转换 事实上,我怀疑我甚至可能无法将查询结果返回给客户端,除了(字符串)url。另外,这个url可能指向一个MVC操作,该操作返回一个FileRe

Breeze 管理器中的未引用实体

我正在开发一个单页应用程序使用热毛巾模板,使用微风…我遇到了一个特殊的问题,我无法找出内部工作,导致它 我有一个programs表,programs表有一个响应外键,因此程序的结构是: Id, ResponseID, Name and Date 页面上有名字和日期,外文来自RouteData。 对于Programmes表中的一个响应,我只想在Programmes上节省 所以,当用户来到这个页面时,它会检查programs表,如果它有一个特定响应Id的条目,如果有,它将进入Edit case,如

Breeze服务器的Microsoft.Data.OData版本不匹配-适用于Web API 2

Breeze服务器-对于Nuget中的Web API 2版本1.4.8,安装Microsoft.Data.OData version=5.6.1,但参考版本5.6.0 请参见下面的错误: 元数据查询失败:*;无法加载文件或程序集“Microsoft.Data.OData,版本=5.6.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT:0x8013100的异常)确保更正正确的程序集版本

breezejs+;实体框架:如何往返特设属性

我将breezejs与entity framework 5模型一起使用。该模型是老式的edmx/objectcontext样式,而不是较新的dbcontext/poco样式 该模型与一些wcf ria服务域服务共享,因此我目前无法切换到entity framework 6或poco风格的entity framework 在使用wcf ria服务时,如果您希望向实体添加实体框架生成的属性以外的属性,则可以创建一个分部类,定义该属性并使用datamember属性对其进行注释。Wcf ria serv

Breeze 在使用额外参数验证SaveEntities之前

我正在尝试在beforeSaveEntity(或beforeSaveEntity)中编写一些自定义验证,需要验证当前登录的用户是否是正在保存的字段的所有者。我遇到的问题是如何访问当前用户 我为控制器分配了一个授权属性,用于验证用户令牌等,并将授权用户存储在请求.Properties中,但是我无法访问HttpRequestMessage中的before saveEntities。将当前用户的userID传递到这些函数中是否有最佳实践?最简单的方法是为ContextProvider子类提供一个属性来

Breeze 微风与第三方API

Breeze是否可以访问没有“BreezeController”也不支持OData的第三方API?“BreezeController”只是一个.NET属性,它帮助.NET WebApi通过OData“语法”提供查询过滤和排序支持,并为实体图和类型标识提供json序列化支持。类型标识非常重要,这样breeze就可以跟踪entityManager中的实体,合并查询结果并更新关系属性。OData本身从来都不是必需的 如果您不希望客户端能够向服务器添加过滤和排序指令,那么您可以编写自己的属性,只提供js

BreezeJS在失败保存时违反Q承诺

当查询执行失败时(例如保存时违反数据库约束),我可以在控制台中看到 应为空:[] 以下是示例(您可以看到控制台中的Should应为空:[]): 我对Breeze和Q是新手,所以我的问题是:我应该忽略这个吗?还是我做错了什么?或者它可能只是一个报告的bug?这是一个完全不可能的结果。在过去的两个小时里,我遇到了同样的错误,我非常困惑。我最后调试到breeze.debug.js,发现我试图保存的日期无效。一旦我纠正了日期问题(将所有内容转换为UTC),则应为空:[]消息消失。无论如何,我可以在第3

breeze是否支持实体框架6

我在Web API中遇到了奇怪的行为。如果我用[BreezeController]装饰,那么元数据()中的断点不会被击中。如果我删除[BreezeController],它会命中断点,但显然会失败,因为该方法不存在。我正在使用EF6 alpha 2。。。一个问题 有什么想法吗?下面是API控制器的代码示例 谢谢, 特拉维斯 namespace Mosaic.Bio.WebApi.Controllers { 公共类MosaicBreezeContextProvider:EFContextProvi

Breeze 检测实体的更改';保存添加的实体后的状态

我使用asp.NETMVC和Durandal模板。我这里的问题与Durandal中集成的Breeze的使用有关。我需要检测任何实体状态更改。我在StackOverflow上找到了一个答案,这里讨论了这个问题: 建议的解决方案在大多数情况下都有效,我的意思是我们可以订阅entityChanged 它在以下情况下工作: 已修改现有实体 已修改的现有实体被取消(拒绝更改) 保存现有实体(保存更改) 将生成一个添加的实体 已取消添加的实体(已更改) 在上述所有情况下,由于SO post中建议的解决方

Breeze 微风:如何防止合并发生

缓存中有一个实体,则该实体具有前20名形式的相关实体。 现在,用户操作可以更新服务器上的前20名,因此我希望重新下载整个实体。服务器发送前20名的正确数据,但在Breeze中,我最终得到了前40名。。。我不知道如何避免这种行为 谢谢你的提示 更新:我不使用ODataWebAPI和iqueryable,因为它为我的应用程序的客户端提供了太多的功能。所以我不想使用EntityQuery.fromEntityKey,它似乎是我想要的。我更愿意继续使用“普通”查询,并在其中添加一个参数 更新2:为了更清

对同一个表具有多个外键的Breeze服务器无法正确展开

我有一个复杂的数据模型,其中我需要有指向不同记录的同一个表的两个外键。在我的示例中,我有一个客户机表,我试图跟踪哪些员工记得创建了记录还是修改了记录。我的对象设置如下: using System; using System.Collections.Generic; public partial class shgt_WfClient { public int wfClientId { get; set; } public string SearchName { get; set

Breeze.js:在没有反向rel的情况下向导航属性集合添加元素会引发异常[无法获取属性的值';name';]

我的EDM中有两个实体,应用程序和地址非常类似于以下内容: class Application { ICollection<Address> Addresses { get; set; } } class Address { } 不幸的是,我得到一个运行时异常,它说:“无法获取属性“name”的值:对象为null或未定义”” 我将异常追溯到breeze.debug中的checkForDups函数。js@9393-9404(v1.2.8): 碰巧,我的实体处于一对多单向关系

Breeze在保存更改时未反序列化实体更改集

我正在对标准RPC样式的WebAPI使用Breeze。我已经用[BreezeController]属性装饰了控制器。我已经在客户机上为WebAPI操作返回的实体定义了实体元数据。我的Breeze数据服务设置如下: var dataService = new breeze.DataService({ serviceName: "http://localhost/api/PartReceiptPurchaseOrders", hasServerMetadata: false });

使用Breeze.js拨打电话

我在看Breeze.js,并对将其用于我们在生产中提供的服务感兴趣。服务已在运行,无法更改 我的问题是,Breeze.js是否可以在保存数据时进行PUT调用?如果是这样的话,有没有任何例子可以说明这一点?我们正在为此提供更多文档,请继续关注 我们正在为此提供更多文档,请继续关注 这是否意味着功能存在,但只需要记录?或者这是一个尚未交付的功能?这是否意味着该功能存在,但只需要记录?还是这一功能尚未交付?

Breeze 在服务器上删除的实体将在客户端上保持不变。默认微风WebApi配置

我在服务器上删除了实体,但在客户端上没有修改该实体 从V1.3.3开始,现在可以在服务器上重写BeforeSaveEntities()时修改已更改实体的映射。如果我像这样标记要删除的实体 saveMap.Add(someEntity.GetType(),new List(){CreateEntityInfo(someEntity,EntityState.Deleted)}) someEntity将从数据库中删除,但由于在客户端上,它在调用saveChanges时未更改,因此在saveChange

Breezejs:在多对多关系中从连接表创建实体

我在两个表(Entity1和Entity2)和一个连接表(JunctionEntity)之间有一个多对多关系。 在Breeze客户端中,我想: 创建Entity1、e1类型的对象 将e1链接到一个或多个已存在的Entity2类型的对象。为此,我创建了JunctionEntity的实例j1和j2 保存更改 为此,我使用manager.createEntity创建e1,并使用manager.createEntity创建j1和j2。我只是在这些对象中设置了属性:Entity1Id和Entity2Id

使用不带实体框架的breeze保存更改

我是breeze的初学者,我想将其集成到ASP.NETMVC4项目中 我也有同样的问题 但是这篇文章并没有回答这个问题,我希望这次我们能做到 问题是我不必使用实体框架,也不知道如何替换控制器中SaveChanges方法中的ContextProvider [HttpPost] public SaveResult SaveChanges (JObject saveBundle) { return ContextProvider.SaveChanges (saveBundle); } 我还尝试使用

breeze:BMEAN示例问题

我尝试了那个项目,它看起来很棒。。。但我不能运行它 我已经启动了mongodb和express服务器,如果我浏览到http://my-server:3000/breeze/zza/Products,我得到了产品列表,因此路由和db连接都很好 但是如果我浏览到http://my-server:3000我有一辆404。似乎没有重定向到index.html 如果我浏览到http://my-server:3000/breeze/zza/metadata,然后是代码: fs.existsSync(filn

Breeze 微风&x2B;Web API 2 OData-406实体命名空间不存在时出错';不匹配dbcontext

我在这里举了一个例子: 我已经开始将实体框架分解成它自己的库(.Data.Ef) 我注意到,当我将DBContext的名称空间更改为与实体/模型不完全匹配的名称空间时,服务器开始抛出406个“不可接受”错误 这是有意的吗?是。如果请求与类的全名不匹配,则模型绑定无法工作。您还可以要求它查询或保存Foo类

Breeze样本失败,带“0”;“找不到资源”;

我下载了一个Breeze示例,在VisualStudio中打开它,按F5在debug下运行它(或者按ctrl-F5而不进行调试),但找不到IE报告“请求的URL:/Views/Home/Index.cshtml” 如果我通过“project | Properties | Web”将项目“Start action”设置为“Specific page”,问题就会消失。我可以将页面名称留空;只要点击那个单选按钮 你为什么不为我们这样做,这样就没有人会遭受这种经历呢?我很同情自己曾多次经历过这种令人不安

Breeze 1.3.1中的元数据错误?(继承)

试用Breeze 1.3.1,我们遇到了一个问题。尝试加载元数据时,出现以下错误: “错误:api/securitychart/Metadata的元数据导入失败;无法处理返回的元数据:无法找到名称为:Vehicle:#Project.Model.Entities的“类型” 为了澄清,实体“Vehicle”是其他两个实体“Motorbike”和“Car”继承的基本类型 我们仔细研究了Breeze的代码,发现从ContextProvider.Metadata()方法返回的JSON按以下顺序返回ent

Breeze使用DB EntityTypes管理NodeB EntityTypes

我正在使用Papa的课程CCJS代码调查Breeze.js和SPA。使用这段代码,我试图管理来自服务器的传统信息,但这些信息不是来自EntityFramework的元数据中包含的实体 因此,我创建了一个名为Esto的NO-DB类和一个类似查找的服务器方法: [HttpGet] public object Informacion() { var a = new Esto(....); var b = new Esto(.....); var

breeze.debug.js中的fixupKeys()函数

对于我的一个实体,我看到组返回未定义,因此对组抛出错误。_fixupKey() 在我看来,km.entityTypeName存储实体的短名称,而em.(u entityGroupMap存储实体与名称空间的连接名称 有人知道这是不是breezejs的臭虫吗?还是我的模型中有什么错误导致了这个不匹配的密钥?这是我的自定义breeze数据服务适配器实现中的一个问题。谢谢你和我一起看 Tim,因为我们无法在测试套件中重现它,您能提供重现该问题的小型解决方案吗?这可能与模型中的某些特性有关。请把复印件寄到

具有NotMapped属性的实体的Breeze查询执行错误

在具有[NotMapped]属性的模型类中,我有一个集合属性。我正在使用breeze查询(breeze控制器中的方法)来获取相同实体的记录。我已经在自定义实体构造函数中初始化了not mapped属性,并注册了该构造函数。 但是breeze查询总是给出一个异常,表示“undefined”不是一个函数。即使我跳过初始化构造函数中的not mapped属性,错误也始终存在。之所以发生这种情况,是因为模型类包含自己类型的集合属性。添加了一个新的模型类,并将其集合作为原始模型类的属性公开。感谢您的更新,

Breeze:当其他人删除子实体时,它们在重新加载父实体后仍会出现

我们有一个breeze客户机解决方案,其中显示了父实体及其子实体的列表。我们对一些子实体进行硬删除。现在,当用户执行删除操作时,没有问题,但是当其他人执行删除操作时,似乎无法使已加载到缓存中的子项无效。我们对父对象执行一个新的查询并扩展到子对象,但是breeze附加了它已经听说过的所有其他子对象,即使数据库没有返回它们 我的问题:breeze难道不应该意识到我们正在通过expand加载,从而在从db加载结果之前从缓存中完全删除所有子项吗?如果不是这样的话,我们还能如何做到这一点 谢谢这是一个有效

BreezeJS如何帮助将数据保存到客户端浏览器而不实际保存到数据库

在SPA中,我们如何使用BreezeJS在保存回数据库之前将数据保存在客户端缓存上。我正在处理这个HotTower模板,并尝试一个简单的计算器应用程序,我想使用缓存计算结果,并将其保存到仅缓存(客户端浏览器),我应该能够查询结果。(我已经使用过这种类型的应用程序,但问题是它会直接将更改保存到数据库中,并相应地更新视图)不清楚您是否有我们可以解决的特定问题 要全面了解如何脱机管理更改,您可以观看John Papa的Pluralsight课程,尤其是“使用本地存储保存状态”模块。是的,我正在看Bre

EF7和breeze.js-批处理和保存订单

我正在着手一个需要在线/离线移动同步的新项目。我要试试微风 web 2 API上的EF6 oDATA似乎存在一些问题(与批处理事务和保存订单有关) 据我所知,至少在某种程度上,EF7 Beta中已经解决了这些问题 Breeze与EF7一起开箱即用吗 如果不是的话,可以让它玩得很好吗?如何(链接OK) EF7真的解决了WebAPI2中批处理事务和保存订单的问题吗 对于oData4的edm问题,是否有切实可行的解决方案 我们肯定会支持EF7,但不太可能在EF7推出测试版之前发布任何内容。至于EF6

使用无数据库的Breeze(NoDb)展开属性

通过创建自定义元数据定义并将其添加到breeze实体管理器,我成功地将breeze连接到服务器上的自定义类型 但是,我无法请求在javascript中自定义定义的对象(Employee)并完全检索其关系 换句话说,我有一个名为Employee的对象,它有一个名为“LoginStats”的属性,该属性是服务器上的列表类型。当使用Breeze请求此对象时,集合中只返回一个元素,此时应该有6个元素 美元承诺的结果如下所示: data.results[0].loginStats()[0] //objec

Breeze.js的替代方案?

除了Breezejs之外,还有没有其他方法不需要.Net或Enterprise Framework连接器或数据库,并且可以与只接受和返回JSON(无元数据)的普通REST服务一起使用 我们实际上将Breeze设计为独立于.NET,但我们的示例中还没有一个显示这一点。在接下来的一两周中,我们将展示如何将Breeze连接到返回JSON的通用HTTP服务。我们很想在它面世时得到您的反馈,因为我们知道它将成为市场的一大组成部分 编辑:Breeze 1.3.0现在可用并包含,这是一个纯JavaScript

使用breeze保存数据后,我们如何发送电子邮件和短信

在使用breeze保存数据后,我们如何发送电子邮件和短信。将信息保存到数据库中效果很好,但在保存数据后,我需要执行更多操作。谁能帮我解决这个问题 var saveChanges = function () { return manager.saveChanges() .then(saveSucceeded) .fail(saveFailed); function saveSucceeded(saveResult) { log('Saved dat

Breeze:使用NHibernate上下文提供程序时,元数据中没有必需的验证器

我们注意到为以下模型生成的元数据: [Required] public virtual string Title { get; set; } 看起来像这样 { nameOnServer: "Title", dataType: "String", isNullable: true }, 换句话说,不添加所需的验证器 这是因为NH不使用数据注释。这是没有实现的还是我做错了什么 是的,这是因为NH不使用数据注释。元数据是使用NHibernate构建的,NHibernate

BreezeJS-清除元数据和缓存

在我的客户端解决方案中,需要从服务器执行部分刷新。是否可以清除所有已定义的构造函数和所有缓存 甚至试过 dataService = new breeze.DataService(breezeDataServiceSettings), ms = new breeze.MetadataStore(); manager = new breeze.EntityManager({ dataService: dataService , metadataStore: ms})

BreezeJS EntityManager.saveChanges()不调用acceptChanges()

你好,谢谢你的帮助 我正在使用 "breeze-bridge-angular": "^4.0.1", "breeze-client": "^1.6.3", acceptChanges的文档称Breeze在成功保存后调用此方法。不鼓励直接打电话 但是,根据我的经验,正如这段简单代码所示,它并没有: let day = this.em.createEntity("Day", { 'note': '', 'owner_id': 1}); await this.em.saveChanges()

  1    2   3   4   5   6  ... 下一页 最后一页 共 11 页