Breeze 微风中的虫子';s_prepareSaveResult
我有一个利用BeforeSaveEntities进行服务器端验证的设置。在我结束之前,一切都按预期进行(在breeze.debug.js中): 数据参数没有KeyMappings属性,因此当Breeze尝试访问map属性时,执行结束Breeze 微风中的虫子';s_prepareSaveResult,breeze,Breeze,我有一个利用BeforeSaveEntities进行服务器端验证的设置。在我结束之前,一切都按预期进行(在breeze.debug.js中): 数据参数没有KeyMappings属性,因此当Breeze尝试访问map属性时,执行结束 {"$id":"1","$type":"Breeze.ContextProvider.SaveError, Breeze.ContextProvider","Message":"Exception of type 'Breeze.ContextProvider.En
{"$id":"1","$type":"Breeze.ContextProvider.SaveError, Breeze.ContextProvider","Message":"Exception of type 'Breeze.ContextProvider.EntityErrorsException' was thrown.","EntityErrors":[{"$id":"2","$type":"Breeze.ContextProvider.EntityError, Breeze.ContextProvider","ErrorName":null,"EntityTypeName":null,"KeyValues":null,"PropertyName":"NameExists","ErrorMessage":"The name already exists"}]}
还有谁遇到过这种情况
更新
我已经通过NuGet不断更新了所有内容,目前使用的版本是1.5.2。(尝试将NuGet从仅稳定更改为预发布)
以下是一些代码摘录:
private Dictionary<Type, List<EntityInfo>> BeforeSaveEntities(Dictionary<Type, List<EntityInfo>> saveMap)
{
_entityErrors.Clear();
foreach (var type in saveMap)
{
var entityInfoList = type.Value;
foreach (var entityInfo in entityInfoList)
{
if (_actions.ContainsKey(entityInfo.Entity.GetType()))
{
_actions[entityInfo.Entity.GetType()].Invoke(entityInfo);
}
}
}
if (_entityErrors.Count > 0)
{
throw new EntityErrorsException(_entityErrors);
}
return saveMap;
}
public SaveResult SaveChanges(Newtonsoft.Json.Linq.JObject saveBundle)
{
return _contextProvider.SaveChanges(saveBundle);
}
private Dictionary before保存实体(Dictionary saveMap)
{
_entityErrors.Clear();
foreach(saveMap中的变量类型)
{
var entityInfoList=type.Value;
foreach(entityInfoList中的变量entityInfo)
{
if(_actions.ContainsKey(entityInfo.Entity.GetType()))
{
_操作[entityInfo.Entity.GetType()].Invoke(entityInfo);
}
}
}
如果(_entityErrors.Count>0)
{
抛出新的EntityErrorsException(\u entityErrors);
}
返回saveMap;
}
public SaveResult SaveChanges(Newtonsoft.Json.Linq.JObject saveBundle)
{
return\u contextProvider.SaveChanges(saveBundle);
}
我会检查您是否正在使用旧的服务器端软件ContextProvider@Jay,请参阅更新。我使用的是1.5.2版,全新的NuGet。对不起,我们的测试都没有显示这一点。你能在breeze.js.samples repo中运行DocCode测试吗?
private Dictionary<Type, List<EntityInfo>> BeforeSaveEntities(Dictionary<Type, List<EntityInfo>> saveMap)
{
_entityErrors.Clear();
foreach (var type in saveMap)
{
var entityInfoList = type.Value;
foreach (var entityInfo in entityInfoList)
{
if (_actions.ContainsKey(entityInfo.Entity.GetType()))
{
_actions[entityInfo.Entity.GetType()].Invoke(entityInfo);
}
}
}
if (_entityErrors.Count > 0)
{
throw new EntityErrorsException(_entityErrors);
}
return saveMap;
}
public SaveResult SaveChanges(Newtonsoft.Json.Linq.JObject saveBundle)
{
return _contextProvider.SaveChanges(saveBundle);
}