Breeze 保存后查询中的实体双精度

我正在使用Breeze创建一个动态数据编辑网格。在向管理器添加新实体、编辑属性、将其保存到WebAPI服务并进行本地查询之后,我两次获得相同的实体。一个实体的entitystate中服务器生成的密钥保持不变,另一个实体的primarykey-1和entitystate已添加 真的不知道我做错了什么或者不理解微风背后的机制 注意 我正在使用一个自定义contextprovider,并覆盖savechanges方法。我在keymap中返回实体类型realvalue(DB生成的键)、tempvalue

获取breeze元数据在Chrome中很慢,在IE中很快

在Chrome中,为我的模型获取元数据的速度似乎非常慢,但在IE中却非常快 我的dbcontext包含大约35个实体,其中包含大量导航属性,我添加的每个实体都会增加延迟。目前,延迟大约为20秒,在查询返回原始元数据后开始,完全是CPU在大量工作,内存使用保持稳定。我有一个i7处理器和充足的内存 我知道javascript引擎在这两种浏览器中的配置方式存在差异,chrome javascript JIT编译器针对浮点运算进行了优化(这就是为什么webgl图形在chrome中的速度比IE快一千倍)—

BreezeJS级联删除,带非空FK

您好,我在使用breezejs时遇到了cascade delete的问题,顺便说一句,我觉得它很震撼。具体来说,我将Asp.net Mvc SPA模板与AngularJS和BreezeJS(1.3.1版本)结合使用。我有一个具有电话对象导航属性的客户对象。手机的FK to Customer设置为NotNull并级联删除 我的问题是,当尝试删除客户机上的父客户并调用SaveChanges(这是一个Web Api方法)时,我在SqlServer上得到一个DbUpdateException“Updat

Breeze-创建实体时刷新本地缓存

在我看来,当前表的本地缓存在创建实体(manager.createEntity(当前表))时被刷新 这就是它的工作原理吗?我认为这是一种奇怪的行为 TJTJ-我打赌你的实体从一开始就不在缓存中。您查询了一些可能(使用了投影/选择?)返回的数据,您可以使用这些数据。。。但不是Breeze可以缓存的实体。我相信这就是普卡德所暗示的 您能确认吗?需要提供一些额外的代码,以便我们能够理解您所说的当前表和刷新表是什么意思。事实并非如此,Breeze也不是这样工作的,事实上,当前表不是传递到createEn

BreezeJS:检查是否有任何实体存在验证错误

我有一个用例,我想访问BreezeJS EntityManager中的任何实体是否存在验证错误。基本上是EntityManager上的hasValidationErrors 用例就是我想禁用UI上的SaveChanges按钮,因为我使用的是Angular Binding系统,所以它应该是一个快速的操作 对我来说,这似乎是不存在的,我想知道是否有任何简单的解决办法或任何实际的方式来实现它 我最接近的例子如下: var mgr = new breeze.EntityManager(

使用Employee(';1234';)获取Breeze中实体的详细信息

我希望在Odata服务中获取集合的详细信息,如以下URL ('1234')/详细信息 我尝试使用以下代码来执行此操作。不确定fromEntityKey是正确的操作还是其他操作 manager = new breeze.EntityManager(collectionData.serviceName); var empType = manager.metadataStore.getEntityType("Employees"); var entityKey = new EntityKey(empT

如何从breeze缓存中删除软删除的实体?

我正在使用DeletedDate属性软删除实体。这些实体从服务器返回,以便可以从其他用户的缓存中删除。分离软删除实体的正确方法是什么 我尝试过的一种方法是监视实体更改,如果它有DeletedDate,则将其分离: // Mark soft-deleted entities as detached manager.entityChanged.subscribe(function (args) { if (args && args.entity && args.

Breezejs元数据模式的最新版本

我们正在手动为breeze创建元数据,以支持DTO对象。我在breeze网站上找到了元数据模式引用,但在示例中,它给出了元数据版本1.0.2 这就提出了一个问题:如何获取元数据模式的最新版本?自版本1.0.2以来架构是否已更改 是否应该使用其他方法创建元数据?您可以找到最新的元数据架构。自1.0.2版以来,架构已发生更改,但自版本1.4.4中首次引入域特定语言以来,尚未更改。我们目前的版本 希望这有帮助

如何为breeze实体生成typescript接口/定义-后续

这是一个后续行动 底部提到正在制定一个正式版本。这是每周一次发布吗?还在测试阶段?无论哪种方式,我都想使用它。您可以在这里找到typescript文件: 我们会不断更新这些信息 从元数据为实体生成TS接口将是一个很酷的工具。完全可行 我们没有,而且当我们有更紧迫的优先事项时,它不会很快从我们这里传来。你试过杰里米的技巧吗(在那篇文章中提到)?我还没有 你愿意做出这样的贡献吗?自由 嗨,Jay,谢谢,但我想知道的是如何自己键入数据实体,而不是breeze本身的类型定义。换句话说,我想要一个打字的

Breeze多列外键错误

我想我发现了另一个bug: 我有一个具有多列外键的对象: public class ConexionPalanca { public int ConexionPalancaID { get; set; } public int PalancaOrigenID { get; set; } public int PerspectivaOrigenID { get; set; } public int PanelOrigenID { get; set; } p

如何强制将Breeze元数据生成的属性设置为camelCase?

我想更改Breeze的序列化程序,以便将我的javascript对象转换为大小写。在文件中,它说这是可以做到的,但说这是要解释的 您可以更改格式化程序的配置[待解释],但如果 你这样做,你有责任确保你的改变 与预期不冲突 有人知道怎么做吗?最简单的方法就是打电话 breeze.NamingConvention.camelCase.setAsDefault(); 在第一次查询之前(或在创建第一个元数据存储之前) 有更多的信息,并且 内置的命名约定。camelCase是一个非常简单的camel外壳

Breeze 如何";处置;实体管理者

我们采取的方法是,每次加载用于编辑记录的视图时创建一个新的EntityManager(以支持工作单元模式) 我们是否需要做一些特殊的事情来允许对EntityManager进行垃圾收集?我相信我们正在释放对管理器的所有引用,但Chrome的“拍摄堆快照”工具没有显示在我们离开视图时删除EntityManager(或任何实体) 我看到每个实体的entityAspect.entityManager都包含对经理的引用。这会阻止所有内容被垃圾收集吗?似乎需要调用entityManager.clear()来

Breeze 导航属性的多对一问题

我对微风中的多对一关系有问题 情况如下(为清楚起见,替换实体类型): 有一个具有子实体列表的父实体,每个子实体都有另一个子实体列表 父母-子女-孙子 家长实体可以是教室(虚拟情境),孩子可以是学生。假设每个学生都有一个附加到他们身上的另一个实体的列表,例如每个孩子可以有多个国籍,国籍是孙子对象 因此,在子实体中有一个如下所示的导航属性: 国籍:{entityTypeName:#国家:#一些.名称空间”,isScalar:false,associationName:#学生国家} 在一个国家里,你们

Breeze服务器端验证与资源转换

我正在研究如何在Breeze中使用模型验证,我发现它在添加例如[Required]时确实有效,但错误消息似乎来自Breeze本身,我希望它直接从模型中提取消息,但事实并非如此。我必须使用翻译资源(英语、法语、西班牙语)来构建我的下一个项目,我更希望使用Breeze控制器以某种方式直接获取错误消息。例如,在我的上一个项目中,我有一个模型: [Display(ResourceType = typeof(Resources.Validations), Name = "SiteName")] [Requ

ng重复覆盖值导致Breeze(来自EF)提供的关键字段相同

我有一个遗留数据库,其中行之间的键可能相同。中继器应显示的其他数据不相同。数据库是EF映射的(键字段标记为键),Breeze用于将数据从EF传递到Angluar。中继器显示的行似乎被来自具有相同键的后一行的数据覆盖 这是Breeze从api检索的Json类型: { "$id": "1", "$type": "Breeze.WebApi2.QueryResult, Breeze.WebApi2", "Results": [ { "$id": "2", "

Breeze 阻止微风加入时区

我不希望breeze在服务器或客户端上添加时区信息。我怎么关掉这个 我在数据库中有一个SQL日期字段-我不需要时间。在C中使用DateTime变量时,我总是希望将它们设置为午夜。我正在覆盖客户端上的breeze.DataType.parseDateFromServer,如这里所述,但我似乎仍在服务器上进行调整。这里的关键点是breeze没有处理时间和时区信息。问题是日期会自动序列化为时间组件,因为在javascript中,所有日期都有时间组件。因此,即使此信息全部设置为零,它仍将在客户端上解释为

Breeze ODataActionFilter被调用两次

这是我第一次尝试使用breeze.js,所以我可能有一些设置不正确的地方,但不确定它是什么 我在执行简单查询时遇到错误。我在VS2012项目中首先使用了EF5.0DB 发生了一个错误。 值不能为null。参数名称:源 System.ArgumentNullException 在System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecuted的Breeze.WebApi.ODataActionFilter.OnActionExec

Breeze 轻松使用工作单元/存储库模式

我只是想知道如何在一个单独的数据层项目中实现breeze的EFContextProvider。另外,由于该项目是一个类库,而不是MVC4应用程序,我应该如何将其包含到我的项目中?我真的不需要Breeze NuGet软件包中的全部技巧,只需要EFContextProvider之类的东西。我想使用EFContextProviderDbContext包装器实现一个工作单元模式,就像John Papa在其精彩的pluralsight课程中所做的那样。有人这样做了吗?有什么建议吗 谢谢这里有一篇来自Bre

Breeze 微风命名保存未按预期工作

我尝试使用命名的保存,如下所示,并在发行说明中解释,但它不起作用并返回: 未捕获错误:“entities”参数是可选的,或者它必须是一个数组,其中每个元素必须是entity=>breeze.debug.js:724 proto.check=>breeze.debug.js:724 proto.saveChanges=>breeze.debug.js:11150 发送电子邮件 功能是: var sendEmail = function () { var option = new b

Breeze 微风教程中的ToDos.sdf文件在哪里

这可能是个愚蠢的问题。我正在和Breeze一起玩,我做了一个新的Web项目,添加了NUGet包,它运行得非常完美。我遵循这份文件: 这表示“Todo数据库本身不包含在下载中。而是应用程序在每次服务器启动时使用模拟数据从头开始(重新)生成它。您将在App_data文件夹中找到它作为隐藏的“Todos.sdf”文件。” 但是,我无法在我的VS2012项目下找到它-我没有App_数据文件夹(我打开了Windows 7中的隐藏文件夹)。在这个示例的web配置中根本没有任何信息-我不明白EF CodeFi

Breeze 微风日期(ko.可观测)到未正确转换的时刻

我有一个breeze实体,里面有一个日期,我需要分别获得年、月、日,并打算使用momentjs来完成,但我得到了一些奇怪的结果,我认为这很简单: var dob = moment(observableDate()); console.log(observableDate() + ' to -> ' + dob.day() + ' - ' + dob.month() + ' - ' + dob.year()); //ouput //Thu Dec 18 1975 11:00:00 GM

Breeze 不能在ICollection属性上设置集合导航属性

我有两个类别与一个或多个类别相关: public class ClasssA { public int Id { get; set; } public int ClassBId { get; set; } public virtual ClassB ClassB { get; set; } } public class ClassB { public int Id { get; set; } public string Exampl

使用Breeze删除具有修改的枚举属性的实体

当我试图删除同时具有修改的枚举属性的实体时,我遇到了一个问题。我得到的错误是从“System.String”到“BV.Entities.CarType”的转换无效。。下面是一个简单的例子: public class Car { public int Id { get; set; } public CarType Type { get; set; } // CarType is an enum } var car = // load a car entity car.Type('Seda

获取breeze js中saveChange之前的实体状态

我正在用breeze js与mvc合作。当我从特定实体中删除某些记录时,以及当我向控制器发送数据时,由于某些原因,我需要从JObject中删除特定的已删除记录及其状态。我有一份这样的工作 { "entities": [ { "StageDetailID": 7, "EventID": 1, "StageNUmber": "Stage 1", "TypeOfStage": "Primary ", "Distance": "10

Breeze 模型从BaseEntity继承时的ModelValidationException

我有一些模型类继承自单个抽象类,而抽象类又派生自BaseEntity 公共抽象类项:BaseEntity 当我尝试在上下文中创建实体数据模型时,出现以下错误: System.Reflection.TargetInvocationException:调用的目标已引发异常。-->System.Data.Entity.ModelConfiguration.ModelValidationException:在模型生成过程中检测到一个或多个验证错误: DataLayer.EntityAspect::Ent

Breeze 通过页面重新加载持久化实体

如果我使用Breeze检索数据: var manager = new breeze.EntityManager(SERVICE_NAME); var query = breeze.EntityQuery.from(ENTITY_NAME); var entities = []; entityManager.executeQuery(query).then(function(data){ entities = data.results; }); 然后需要将实体从一个页面保存到下一个页

更新现有Breeze实体/不跟踪对象更改的实体

正如预期的那样,下面的代码从我的数据库返回一条记录。但是,它无法跟踪UI中的更改。我正在使用angularjs将myObject的属性绑定到各个字段。最初加载时一切正常,但如果我对对象进行更改并使用breeze的EntityManager.saveChanges(),它不会检测到任何更改。我可以创建一个新的实体并保存它,但我会尝试理解如何处理更新。在检索实体后是否需要分离该实体,然后重新附着并保存 或者这是将检索到的实体分配给我的javascript(使用TypeScript)对象的错误方法吗?

breezejs是否会自动在缓存中查找已完成的服务器查询

当我对我的WebApi控制器操作执行查询时,该操作将传递一个具有2个属性的viewmodel: Id=1 日期=2013年1月1日 这些数据由breeze缓存 我执行的下一个查询具有相同的id,但日期不同 现在我问自己,当用户检索时,breeze是否会自动查找本地缓存 以上2个查询的数据或breeze是否进入服务器 当我执行以下操作时,breeze是否也从本地缓存获取数据: 执行查询1 更改结果数据中的文本字段并保存该字段 执行查询2 再次执行查询1并问自己,breezejs是去服务器还是获取

Breeze 未填充没有反向属性的子实体

我有一个带有单向1->n导航(no n->1)的数据结构,但不幸的是API不在我的控制之下。问题是,当我从服务中获取数据时,子对象并没有添加到父对象中(尽管我确实从服务器接收到建筑物,但建筑物集合仍然为空)。元数据是手动构造的 我试图找出问题所在,发现可能是第12635行: if (!inverseProperty) return; 如果没有反向属性,则不会将找到的相关实体推送到可观察数组中。这很奇怪,因为breeze文档明确指出: 忽略导航属性 有时,您希望在导航的一侧忽略导航属性 协会。例

Breeze BeforeSaveEntity为外键创建新实体

当我尝试创建一个新的时隙时,我想添加userId。它保存了所有内容,但是UserId是一个新的,代码也创建了一个新的用户,而不仅仅是设置外键 调试期间,user.Id正确,timeSlot.user.Id正确 protected override bool BeforeSaveEntity(EntityInfo entityInfo) { // return false if we don’t want the entity saved.

使用Weyland构建Durandal和Breeze会生成main-builded.js,该main-build.js在未定义的deps(依赖项)上失败

我正在尝试构建一个使用Breeze1.4.6和Weyland工具的Durandal项目。到目前为止,我已经成功地完成了任务,并生成了一个main-build.js。但是,当我像这样运行main-build.js时: <script src="~/Areas/Email/App/main-built.js"></script> 错误是: Uncaught TypeError: Cannot read property 'splice' of undefined 这是因为

breeze中的manager.fetchMetadata()错误

我的目标是创建一个新类型的新实体,并将其推给经理 我已创建了新的实体类型: var newType = new breeze.EntityType({ shortName: "input" }); 为了能够创建此类型的新实体,我需要首先获取元数据: var entityManager = new breeze.EntityManager('api/Db'); entityManager.fetchMetadata(success, failed); func

Breeze 微风中的往返。夏普ToDo样本项目

我能够安装Breeze.Sharp项目。我在添加新的待办事项时注意到一个行为。添加新的todo项目时,客户端将执行服务器调用SaveChanges,并成功添加该项目。客户端必须再次通过QueryAllTodos调用服务器,以再次获取最新列表。为什么往返是必要的?SaveChanges方法不应该将更改(添加后的新列表)与客户机列表合并,以避免再次出现这种往返吗?您是正确的。在保存后不需要重新查询,除非有其他服务器端的“副作用”(如触发器)也会更改数据。这段代码只是为了安全起见 既然你提到了副作用,

Breeze 多态导航属性

我有这样的想法: public class Person { string Name; } public class Customer : Person { List<Order> orders; } public class MyReference { Person aPerson; } public class Me { MyReference myRef; } 我得到一个错误,EntityType“Person”上不允

如何将breezejs与现有web服务一起使用?

我需要将breeze js和angular js用于在现有web服务上开发的SPA项目。我可以将breezejs API用于这些类型的项目吗?您可以通过创建一个breeze控制器并从此控制器调用现有web服务来实现这一点。您可以通过创建一个breeze控制器并从此控制器调用现有web服务来实现这一点

Breeze fetchEntityByKey不向服务器发出任何请求

我正在尝试使用Angularjs创建一个文件管理器,我最近发现了Breezejs,并对尝试使用它与后端通信和管理模型关系感兴趣。后端是一个RESTAPI,我可以完全控制它 然而,我遇到了一个问题。我知道文件的id,所以我想请求使用backend\u url/files/:fileId格式的url,其中:fileId是base64编码的文件的url。根据文档,我应该为此使用EntityManager.fetchEntityByKey()。这是我用来创建Angularjs服务的函数: var Fil

Breeze 在本地使用executeQuery/executeQuery作为web服务和缓存之间的中介

我是breeze.js的新手,在想出一种将executeQuery和executequerylocal结合起来的好方法时遇到了一些困难 用例是这样的:我想使用breeze数据缓存来隐藏第三方web服务的脆弱性。我想提出一种模式,查询服务,如果调用时服务不可用,则返回缓存 我已经细细琢磨了好几天了——任何建议都将不胜感激 我认为这是一个好办法: executeQuery= function(query){ operating(true); return manager.execut

Breeze'的数据结构;s实体管理器缓存

实体管理器缓存的数据结构是每种实体类型的数组集合,而整体缓存被视为简化关系数据库吗?是的,确切地说,它实际上是稀疏数组的惰性集合(允许删除分离的实体),每个实现的实体类型一个,每个数组与主键索引配对。据我所知,数组以层次结构链接在一起,但不是单个实体。不,数组没有链接在一起。但是实体之间的关系都是“活动的”,这意味着随着新实体添加到缓存中,实体之间的所有关系都会立即得到解决。因此,每个实体总是在缓存中完全解析到其相关实体的所有链接。该关系信息是否包含在ComplexSpect类中?如果有Cust

Breeze:Metadata.isEmpty()未按预期工作

我有以下方法: function _getById(entityName, id, navigationProperty) { var self = this; var manager = self.manager; if (manager.metadataStore.isEmpty()) { return manager.fetchMetadata().then(function () {

Breeze 并发的最佳实践

我正在使用breeze在我的SPA和Web服务器之间进行交互,可能需要一些关于并发“问题”的帮助 只要更新是一个简单的对象,并发就可以正常工作。然而,当处理层次实体时,问题就开始了 产品有一些简单的属性,比如代码、名称、描述,还有一些导航属性。为了简洁起见,我将只讨论其中的一个:产品包(一个具有id、代码、名称和productId的实体,它是产品的外键)。在保存产品时,只有发生更改的实体才会发送到服务器,因此,如果我们将产品包添加到产品中,这就是此产品包实体 当此产品由两个人同时编辑时,可能会导

Breeze:使用Envers时使用NHMetadataBuilder构建元数据

我们使用NHibernate.Envers扩展进行审计。因此,审计实体是动态生成的,尽管它们不是我们业务模型的一部分 但是NHMetadataBuilder调用GetMappedClass方法,并且不区分这些审计实体和我们的业务实体。但是,对于这些审计实体,它稍后会崩溃。GetMappedClass返回的类型是System.Collections.IDictionary,添加到元数据中显然没有任何意义 目前,我们只是通过在BuildMetadata方法中添加保护措施来忽略这些实体:

breeze createEntity未初始化导航属性之一

我正在使用entitymanager的createEntity创建一个breeze实体。创建时,我发现它的导航属性只有1个为null,而其他属性则被赋值 var chargeEntity = { ClientId: data.ClientId, PatientId: data.PatientId, AssessmentLogId: data.AssessmentLogId,

在react或vue中使用BreezeJs和Mobx

我想如果有人需要从遗留的breeze.js应用程序迁移到更新的框架(ReactJs或VueJs除外),那么Mobx可以为项目带来可观的对象提供很大的帮助 我想知道是否有人尝试过提供一些反馈,或者分享一些代码。事实上,你不需要MobX和Breeze,因为Breeze已经提供了这种功能。请参见下面的示例:实际上,您不需要将MobX与Breeze一起使用,因为Breeze已经提供了此功能。请参见以下示例:您可以使用breeze-client@next使用Vue.js。请参见示例。当您拥有关系数据时,I

Breeze 要按扩展属性筛选的客户端查询

我需要获取已删除项目的计数,并获取未删除项目的更改集/集合 我怎样才能做到这一点 我可以用LINQJS来做,但是我想知道是否有更合适的方法来做 var countryType = manager.metadataStore.getEntityType("Country"); var countries = manager.getEntities(countryType); var deletedCount = Enumerable.From(co

如何将触发器错误返回到breezejs客户端?

验证可以发生在客户端和服务器端,如果发生在数据库端,如果我想通过在触发器中回滚来停止插入/更新,我如何通知客户端,现在看来breezejs只是忽略了在触发器中引发的错误。如果您使用的是实体框架或NHibernate支持的服务器,然后,在服务器上引发任何异常都会使整个事务失败,并在客户端上变成失败的保存(所有更改都会恢复到“预保存”状态)。为了实现这一点,Breeze服务器必须检测到异常。您可能需要使用触发器来引发异常 如果您使用的是其他服务器,则行为取决于数据库是否支持事务语义。(例如Mongo

Breeze.js传递谓词Odata Url

我正在尝试使用以下链接中的文档创建一个包含多个breeze.js passthrough谓词的ODataURL: 但是,生成的url与odata url完全不同,例如: var query = breeze.EntityQuery.from('User').using(this.manager).where("{ { 'userName': { '=': '123456' } } }"); var url = query._toUri(this.manager); url是“用户?$filte

使用自定义元素进行aurelia breeze验证

注意:此场景与此问题中的场景相同: 守则: 用法: widget picker.js 从“aurelia框架”导入{bindable,bindingMode}; 导出类WidgetPicker{ @可绑定({defaultBindingMode:bindingMode.twoWay})小部件; @可绑定小部件; } widget picker.html ${widget.name} 问题是: 我正在尝试构建一个组件化的UI,并使用一个控件/元素来控制小部件的选择(Widget pick

在Breeze for.NET中,如何将DTO与实体框架实体一起保存?

在官方文件中,提到DTO可以用作breeze实体: 它不必是ORM类。它可能是一个DTO类,您稍后将通过BeforeSaveEntities的实现将其映射到业务模型中的一个类中 在Ward Bell的一份报告中,他提出了以下与EF实体一起保存DTO的策略: 从EntityInfos中删除DTO 从Db中检索相应的业务模型实体(如果这是插入,则创建这样的实体) 从DTO更新此副本 将此实体添加到EntityInfos(不要忘记更新的OriginalValues属性) 冲洗并重复所有此类DTO 让它

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