Breeze 微风中的虫子';s_prepareSaveResult

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

我有一个利用BeforeSaveEntities进行服务器端验证的设置。在我结束之前,一切都按预期进行(在breeze.debug.js中):

数据参数没有KeyMappings属性,因此当Breeze尝试访问map属性时,执行结束

{"$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);
    }