当主键/外键基于表中的多个列时,我遇到了一些问题。
创建新对象后保存时一切正常,但当客户端在保存后更新其fk_数据时,breeze正在混合键列。
这导致键列中的数据错误,breeze认为某些内容再次被修改
一切都发生在breeze.debug.js:
// update fk data property - this can only occur if this navProperty has
// a corresponding fk on this entity.
我将breezejs v.1.5.4与OData Web Api控制器一起使用(如果有区别的话,AngularJS v.1.4.0)
我有以下模型(简化):
有什么建议吗
更新1
我还使用了datajsv.1.1.3和odata服务适配器
元数据如下:
{
"metadataVersion": "1.0.5",
"namingConvention": "noChange",
"localQueryComparisonOptions": "caseInsensitiveSQL",
"dataSer
我对Breeze有一个奇怪的(或者至少是意想不到的)问题。我有一个EF后端视图模型,我向它发送一些参数,它返回一些数据。我使用带参数的选项来执行此操作。后端包含大量的和投影,并返回我希望在一组自定义视图模型实体(即,非数据库实体)中显示的数据。其中一个参数是要显示其数据的键列表
虽然我正在检索父实体的列表(例如,keys[1,2]),但这些键标识了我要检索的父实体的哪些子实体意味着它应该获取所有具有子项列表属性的父项实体,这些属性本身有一个ToyId属性,该属性在键和那些子项实体中有一个值)。换
从表面上看,这听起来可能是一个愚蠢的问题,但为什么会包括这些问题呢
在过去的几天里,我一直在学习热毛巾及其依赖关系,据我所知,模板中没有任何内容实际使用Breeze。也许这会随着未来的发布而改变
当然,Breeze是一个很好的图书馆。但它必然要采用CRUD方法,并要求您以特定的方式设计ApicController。(元数据、保存更改等)
它还指导您使用实体框架。虽然这更像是一种软依赖,因为Breeze也显示了这一点,但它仍然可以引导您使用修改后的存储库模式实现类似的模式
如果您使用的是NoSQL
我们目前正在努力让breeze和typescript一起工作。。。我们正在使用angular,因此计划使用breeze的“backingStore”模型库。。。我们不打算使用ko或主干
// configure to use the model library for Angular
breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true);
我们在设计时定义所有typescrip
我想这是一个非常基本的问题,但我被它困扰了两天,至今还没有解决方案
我正在用breeze创建一个项目,用requirejs包装,但我认为这不是问题所在
依赖项中加载的库包括jquery、q和datajs
breeze.config.initializeAdapterInstances({ dataService: "OData" });
var manager = new breeze.EntityManger('todo/Todos')
erroruncaughttypeerror:unde
我正在建造一个新的水疗中心,我在处理似乎相互矛盾的问题时遇到了一些问题
因此,从表面上看,SPA是相当基本的积垢。然而,有一个陷阱:他们还希望所有的功能都可以作为Web API使用
这听起来很合适,因为Breeze在WebAPI上工作,但我一直觉得我在把一个方形的钉子敲入一个圆形的洞。有人能拖我一程吗
问题的例子:
假设我有一个用于创建/添加小部件的屏幕
有一些验证
有一些商业规则,如果小部件重量超过5磅,请致电另一个发送电子邮件的web服务
所以,有了微风,这很容易。我只需连接我的EFCont
我有一个大对象图,我想返回给客户机(整个模型的概述),所以我决定将其作为一个大对象发送回去(我将其作为有问题的对象返回)
然而,在Breeze中,我只得到每个依赖对象中的第一个对象。例如,我有一个“policy”对象和两个“vehicle”对象。我只看到一辆车(即使我在var p=data.results[0]上设置了一个断点)。调用返回的json显示了两辆车,但breeze只捕获了一辆
我该怎么做才能得到其他的呢?这是我的电话:
var getPolicyByPolicyNumber = fu
我使用OData和实体框架从数据库中选择一些记录。每个记录都有一个指向包含文本内容的文件的路径。在单个服务调用中,我希望能够过滤DB记录,并根据记录指向的文件内容过滤结果对象。因为我不能将LINQ to EF与LINQ to对象混合使用,所以我认为实现这一点的最简单方法是在标准OData参数中添加一个额外的查询参数,该参数定义了在应用标准OData过滤器后如何过滤文件内容
看起来实体查询的withParameters方法是添加非标准参数的方法,但它似乎不适用于breeze的1.4.9版
我是否做
我有一个breeze控制器,它接受一个JObject,有没有一种简单的方法可以将该JObject反序列化到它的强类型源EntityInfo对象中,而无需进行保存更改/保存更改之前。我只想得到JObject负载所指的对象。
谢谢你的帮助
我最终使用了这个相关问题中概述的方法。
选项1
请看Breeze.ContextProvider类的方法中的代码。它是受内部保护的,因此您需要复制代码或使用反射调用它。使用风险自负
选择2
breeze savechanges代码使用一个名为SaveWorkSt
我想向我的经理添加一个实体。
经理保存在我的MasterViewmodel中,我正在使用knockout
Error: Cannot attach an object to an EntityManager without first setting its key or setting its entityType 'AutoGeneratedKeyType' property to something other than 'None'
我的代码:
var item = {
我有2个EntityFramework上下文和相应的API控制器。
我有两个Breeze实体管理器。
我使用EntityManager 1阅读了一些国家/地区数据。
我通过EntityManager 2阅读了一些公司数据
现在我想显示以下列表:
公司名称国家名称1
公司名称2国家名称2
等等
在淘汰赛中,它看起来像这样:
<table data-bind="foreach: companies">
<tr>
<td data-bind="text: na
标签: Breeze
single-page-applicationdurandalhottowel
我目前正在一家水疗中心努力解决使用多种语言的问题
我提出了几种解决方案,比如为资源resx文件构建包装器,或者在数据库中保存所有标签,但我想知道你们是否找到了一些自动化这些步骤的解决方案
是否有针对此问题的特定实践?对于合理数量的文本,我建议将资源保存在DB或服务器的.RESX文件中。当用户登录或检测到将使用的语言时,应用程序会请求文本,并将其保存在翻译模块的集合或浏览器的本地存储中(这可能是处理大型数据的一种好方法)。
然后这个模块可以有一些方法来检索消息,可能传递一个密钥
使用此解决方案,您
我有一个模型,其中我有两个实体,一个“父”和一个“子”
这种关系应该是显而易见的,但实际上是这样的:父实体拥有零个或多个子实体
父对象有一个名为“Children”的导航属性,其中包含子实体的集合
子项没有返回父项的导航属性。它只有一个指向父级的外键
当我将这些模型加载到EntityManager中时,“Children”导航属性集合只填充了一个子项,即使给定的父实体实际上有多个子项
我已尝试将“父”导航属性添加到“子”实体,如果我这样做,“父”实体上的“子”导航属性在加载到EntityMana
在将MVC软件包更新到当前的Nuget版本(5.1.1)后,我正在尝试安装Breeze.Server.WebApi2 Nuget软件包,并出现以下错误(如下所示)。我是否需要将MVC版本降级为(5.0.0)以使当前的Breeze WebAPI2包正常工作
PM> Install-Package Breeze.Server.WebApi2
Attempting to resolve dependency 'Microsoft.AspNet.WebApi.OData (≥ 5.0 &&
我有一个Breeze查询,我想覆盖我通常使用的默认camelCase
当我调用breeze.EntityQuery时,是否有某种方法可以指定覆盖namingConvention???很抱歉,您必须在查询之前设置namingConvention,然后在查询执行之后将其设置回原来的状态
有没有办法为使用breeze进行的所有调用提供默认错误处理程序
现在,我必须为breeze.EntityManager.fetchEntityByKey返回的每个承诺添加.fail(onFail)/breeze.EntityQuery.execute/
我正在使用BreezeJS在Angular web应用程序中为我的实体类型建模。后端是一个没有元数据的自定义RESTAPI。我创建分离的实体,这些实体可能需要也可能不需要持久化,如下所示:
manager.createEntity('ParentType', null, breeze.EntityState.Detached);
将分离的ParentType实例的navigationProperty设置为非分离状态的某个实体会将ParentType实例添加到管理器中。由于自定义后端的原因,我不
我正在研究使用Breeze进行客户端缓存和查询。不幸的是,现有的web服务返回JSON对象,对于给定类型,JSON对象可能具有可变数量和类型的字段。它们都有一个唯一的id和几个基本字段,但例如,一个人可能有姓名、年龄和地址,另一个人可能有姓名、出生日期和偏好颜色
每个人拥有的内容由嵌入到每个对象中的元数据描述,因此每个人也有一个元数据字段
查询在这里显然是有问题的,但现在假设我们不会查询任何字段,而不是查询给定类型的所有项
我们也在使用AngularJS,以防万一
我的问题是,如何使用Breez
以下示例尝试将类型为Double的标量数与SparseVector[(Int,Double)]相乘:
代码无法编译,因为
错误:找不到参数op:breeze.linalg.operators.OpMulMatrix.Impl2[Double,breeze.linalg.SparseVector[(Int,Double)]的隐式值,即]
val b=5.0*a
似乎缺少此类乘法的隐式实现
但是,如果我们在DenseVector[Double]上做同样的事情,一切都很好:
val a = Dense
我使用Breeze和实体框架代码优先模型
使用数据库(MySQL)的常规操作可以正常工作,但当我用50-60个子实体(一对多关系)保存一个父实体时,保存操作需要大量时间-大约40秒1分钟。实体没有很多属性,本地计算机上没有安装MySQL
如何加快此操作的速度?我已尝试重新设置此操作,但到目前为止无法完成。我的测试在不到1秒的时间内保存了5个父实体(客户)和49个子实体(订单)(总共250个实体)。我使用的是包含在breeze DocCode示例中的NorthwindIB SQL Server数据
是否有一个.Net属性会告诉Breeze完全忽略某个属性
我知道保护属性是一种对Breeze隐藏它并阻止其序列化的方法,但是如果我希望它保持公共性呢?如果您使用的是Json.Net序列化程序(Breeze.WebApi默认值),您可以使用JsonIgnoreAttribute,如前所述设计一个简单的,让EF生成的元数据对客户端说一件事,对EF本身说另一件事的可维护方式
但是,如果您愿意使用两个DbContext,则可以这样做:用于服务器端模型操作的“真实”DbContext和严格用于客户端元数据
我试图在我的breeze应用程序中实现类似命令的东西,但我忽略了客户端上的模型和我的数据库/EF db上下文之间的“一点间接性”
问题是:
如何修改(创建/更新或删除)服务器上的实体,而该实体不是客户端上已修改(创建/更新/删除)的实体之一?
例如:
要允许更改用户密码,请在客户端上创建新的CmdNewPassword实体(包含OldPassword和NewPassword字段),但在服务器上检查旧密码是否正确,并更新user.PasswordHash和user.PasswordSalt
或
听起来BreezeJS的SaveChanges非常适合快速演示,但大多数实际应用程序在实际保存到数据存储之前需要某种工作单元、业务需求和/或健全性检查。有没有办法将BreezeJS与处理插入、删除和/或更新数据的ajax调用集成,而不是使用SaveChanges?Breeze允许您通过SaveOptions.resourceName属性更改“SaveChanges”的服务器端点。(有关更多信息,请参阅EntityManager.SaveChanges api)。您还可以拦截服务器上的SaveCh
使用FlagsAttribute标记的枚举未正确保留在客户端。它们总是一个字符串,名称之间用逗号“,”分隔
它应该是一个数组,这样就可以很好地匹配ko`checked绑定
此外,与他们一起工作会容易得多。
仅发送到服务器时,应使用逗号序列化(强制)
有人找到解决办法了吗
服务器端
[Flags]
public enum Vechicle : short
{
None = 0,
Bicycle = 1,
Motorcycle = 2,
Car = 4,
Ot
这里我还有一个关于工作单元(UoW)和存储库模式的问题。因此,我喜欢temphere解决方案显示的UoW存储库,非常好,我理解这一点。但是,当您传入一个请求实体为。展开或。从父项中选择的查询时,EFContextProvider是调用存储库以执行该操作,还是直接进入上下文。我稍微研究了一下,发现EFContextProvider有自己的上下文实例。。这让我担心,因为我已经使用repository模式抽象出了一些东西,但是我认为在执行这些嵌套操作时不会应用它们。有人能帮我确认一下吗?如果这是正确的
不确定使用Breeze是否可以实现这一点,但我们需要从两个不同的来源返回IQueryable
从控制器操作调用的业务逻辑检查某些数据是否存储在数据库中,如果是,则从使用EFContextProvider的存储库返回IQueryable
否则,将创建一个包含默认数据的列表,并将其转换为IQueryable,然后返回该列表
在客户端,我们的查询包含.expand以确保导航属性填充了所需的数据
当IQueryable来自EF时,这可以正常工作,但在创建列表时会因以下错误而崩溃:
{“$id”:“1”,
当我使用MergeStrategy.OverwriteChanges重新查询我唯一的脏实体时,经理说hasChanges为true,即使entityState未更改。这是因为entityChanged和hasChangesChanged从未发布
查看mergeEntity(第14258行)中的源代码,该代码的预期代码永远不会工作,因为它在更新实体状态后测试实体状态&它测试的是isUnchanged函数的存在性,而不是它的返回值
我想应该是这样的
if (mergeStrategy === Mer
我有一个entityManager,其中包含entityStatus为“Added”的实体。
当网站离线时,我想添加新的实体并将它们导出到LocalStorage。当网站再次上线时,我需要将实体导入回管理器,并将它们发送到服务器数据库
除了一件事之外,我已经实现了这一点:如果我在脱机模式下打开了几个浏览器窗口,breeze将尝试从所有页面发送数据。当出现internet连接时,打开的浏览器窗口中的所有脚本将同时发送相同的数据。因此,我的数据库中有几个相同的记录
更新:删除本地存储中保存的条目不是
我想我发现了一只虫子
刚刚更新到新的Breeze.JS v1.5,现在出现以下错误:
Error: Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.
at dependentObservable (http://localhost:54663/Scripts/k
加载我的支付模块时,我得到“无法加载路由模块(支付)”。未定义不是函数的错误。我已经尝试了所有的方法,甚至将它回滚到一周前发生的一些提交,并且不断地得到相同的错误。经过大量的故障排除,我将其追溯到我的数据服务。我发现,当我在dataservice中删除对“breeze”的所有引用时,它会按预期加载(当然,这不起作用)。如果我将'breeze'添加回'define'依赖项数组中,我会得到未定义的不是函数错误
我没有改变要求。配置,但我已将其与数据服务的define语句一起粘贴到下面
require
我对使用breeze还不太熟悉,目前还停留在一些看起来很简单的东西上
我有一个API调用,它返回4个位置。然后使用breeze,我尝试使用where子句对其进行过滤,如下所示:
function getLocations(clientId) {
var self = this;
return EntityQuery.from('GetLocations')
.withParameters({ client
标签: Breeze
single-page-application
我正在努力学习Breeze.js
Breeze似乎要求后端对象定义一个PK。
在我的案例中,我尝试从SQL视图读取数据
Breeze可以使用Breeze查询SQL视图吗?解决方法是什么,或者更好的替代方法是什么
谢谢,是的。我的C模型到SQL视图看起来与那些到SQL表的映射完全相同。是的,您可以
Breeze需要PK进行双向绑定,即将修改后的对象发送回服务器以保存更改
在您的情况下,这是使用SQL视图的唯一方法。以下是我如何使用t-SQL命令的。尽管我们在模型中定义了这些视图,但同样的想法也适用
我的域类上有一个虚拟ICollection属性。如果我离开该属性,则breeze在查询后生成的项没有entityaspect属性。如果我删除虚拟机,一切正常
例如:
这是一个产品Poco:
public class Product : BaseEntity
{
[Required]
public string Name { get; set; }
public decimal Price { get; set; }
public stri
我创建了一个MVC 4应用程序(WebAPI或empty),然后加载Breeze NuGet软件包,并按他们说的那样点击F5,如果我在Google Chrome或Page Inspector中运行,一切正常,如果我在当前的IE 10中运行,我在最后一行得到一个异常:
(function (root) {
var ko = root.ko,
breeze = root.breeze,
logger = root.app.logger;
// service
我有一些具有导航属性的实体,例如“Parent”(EntityType的对象)和“Children”(EntityType的对象数组),但当我将这些实体导出到另一个管理器时,导航属性“Parent”和“Children”为null或空
我使用下面几行:
var query = entityQuery.from('Projects');
var entitiesTmp = manager.executeQueryLocally(query); //entitiesTmp have navigati
在运行exportEntities时,breeze通过删除实体的属性并将其放入数组中,来实现对实体的展平。在仅具有简单属性的实体中,这会防止循环引用,因为entityAspect不会跨多个实体进行复制。然而,复杂属性并没有扁平化,仍然具有这个entityAspect,当breeze试图调用JSON.stringify()时,会导致循环结构异常
下面是一些复制此问题的代码:
var jsonMetadata = {
"metadataVersion": "1.0.3",
"data
我正在检索委托实体上的MandatesHistory集合,如下所示:
var query = breeze.EntityQuery.from("MandatesHistory")
.where("Mandate.Id", "==", mandatId)
.expand("Mandate").skip(offset).take(pageSize).inlineCount(true);
return man
我有一个breeze查询从数据库中获取一些值
如果要按字母顺序排列值,则查询如下所示:
var query = EntityQuery.from("Words")
.orderBy("Text");
a
b
ab
bb
问题是我想先按长度,然后按字母顺序对返回的值进行排序
例如,这组结果按字母顺序排列:
a
ab
b
bb
我如何按如下方式订购:
var query = EntityQuery.from("Words")
.orderBy("Text");
a
b
ab
bb
?
我知
我想知道用breeze执行in子句查询的最佳方法是什么。我使用了一系列“column=blah1或column=blah2”等。我还创建了一个接受参数数组的命名服务器方法,并使用withParameters语法调用它。我面临的问题是,当列表变长时,我会遇到http GET querystring限制
使用breeze执行“in”子句查询有更好的方法吗?在执行这些查询时,处理长串术语的最佳方法是什么(查询时可以使用http POST吗?)
谢谢你抽出时间,
马蒂亚斯这是个好问题。正是出于这些原因,
我在EntityManager中创建了一个新实体,如下所示:
var newCust = manager.createEntity('Customer', { Name: 'MyNewCustomer' });
它的Id已正确生成。在按钮上单击“我将实体保存在服务器上”:
manager.saveChanges([newCust]).then(function (saveResult) {
alert('saved!');
}
现在一切都很完美,但newCust中的实体保持其Entity
将实体从一个管理器附加到另一个管理器的正确方式是什么?
直接尝试会导致覆盖实体或警告相同的实体键
var entity = em1.getEntities()[0];
em1.deattachEntity(entity);
// assume em2 already has entities
em2.attachEntity(entity);
我认为应该有一些内置功能,用于将条目附加到另一个非空管理器,或者为所选管理器生成唯一密钥
有什么建议吗
更新:
我确实读过并试图通过exportEnt
标签: Breeze
hottoweldurandal-2.0
我一直在尝试热毛巾水疗,并成功地获得了一个视图模型和使用ko.observates工作的视图。调用Breeze executeQuery的结果使用myObservable(data.results)加载到observable中,我在视图中看到了结果
读过Durandal即将发生的变化后,我想我会尝试使用observables插件。我的问题是微风的结果不再出现在我的视野中。我已经阅读了Durandal中的“绑定普通Javascript对象”文档,但这对Breeze没有帮助,John Papa的“升
标签: Breeze
syncazure-mobile-serviceshybrid-mobile-app
我正在开发一款混合移动应用程序,部分要求是允许该应用程序在SQLLite中离线存储数据,然后通过SQL Moblile服务与SQL Azure同步。。为此,我研究了MS Sync框架,JayData,现在研究BreezeJs
对于mssync框架,我已经意识到更改模式及其非常过时的版本需要做大量的工作。
对于JayData,问题是它接受oData,但标准AMS端点是JSON提要……我想有人可以帮助我实现这一点,这将非常好
现在通过这些问题,我意识到很多人正在使用breezejs和AMS/ZUMO
我有以下型号:
1人对多参与者(“注册”是导航)
如果我只想知道此人的姓名和所有注册的日期,那么这不起作用:
EntityQuery.from('Person').where('id','eq',id)
.select('firstName, lastName, enrollments.dateEnrolled')
.execute()
我得到一个错误:
Unable to locate property 'DateEnrolled' on typ
如果没有,我有什么选择?我认为ODataWebAPI是下一个最容易实现的选项
错误消息:
安全透明方法“Breeze.ContextProvider.BreezeConfig.get_Instance()”尝试访问安全关键方法“System.AppDomain.add_AssemblyLoad(System.AssemblyLoadEventHandler)”失败
程序集“Breeze.ContextProvider,Version=1.5.0.0,Culture=neutral,PublicK
breeze元数据似乎并不包含十进制类型的精度和比例。它只是将一个属性标识为“Decimal”。这些信息在EF模型中提供。这是可以添加到元数据中的东西,还是信息已经在某个地方了,但我没有看到它?我们现在没有在元数据中公开它,但这是一个合理的请求。你能把这个添加到列表中吗?我们用它来区分新特性的优先级,并非常认真地对待它
我们还讨论了“正式”支持可扩展元数据。我说正式是因为现在没有什么可以阻止您向“dataProperty”元数据对象添加其他属性
我正在从事一个项目,在这个项目中,我们有一个非常苗条的服务器(Linux、Nginx、Sqlite),但我们的web应用程序不会显示任何缺陷迹象(应该包含图表、仪表板、漂亮的控件)——因此我需要客户端来完成所有繁重的工作。
我认为BreezeJS在这种情况下会很好,因为它以一种减少服务器工作负载的方式管理客户机上的数据。服务器只向客户机发送数据,并在某个时候将必须保存到数据库的数据取回。所有缓存和其他内容都在客户端上进行管理。
我认为AngularJS在这种情况下也很好,因为它是一个客户端MVC
在这一问题上也提出了类似的问题:
好吧,这对很多人都有效。
i、 e父实体可能有一个子实体,而子实体又有多个子实体
我的设想是:一个产品有许多单元,一个特定单元有许多条形码
var predicateBarcode = Predicate.create('units.barcodes','any','barcode', 'eq', searchText());
var query = EntityQuery.from('Products')
.expand('un
BreezeSharp是否支持CollectionView支持的数据集合的分组、排序、筛选和导航等功能
该用例类似于以下内容。检索母公司及其子公司的员工集合。根据公司名称,需要对员工进行筛选(并显示在UI中)。一次只显示一家公司及其员工
如果Breeze不支持这一点,我是否应该拥有自己的CollectionView来处理这一问题?我不太确定我是否理解这个问题。.NET CollectionView类当然可以与任何Breeze.sharp实体集合一起使用。此外,所有非缩放breeze导航属性都是实
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 21 页