我怎么能保证我的SaveChanges添加或删除breezejs实体后?
var newTodo = todoType.createEntity(initialValues);
manager.addEntity(newTodo);
我只想添加/删除实体到登录的用户。 其他用户不应该能够通过JavaScript的黑客实体添加到另一个用户。
查询只允许通过entites的服务器上编辑EFContextProvider是可能的。 但它是如何与删除工作,或者补充的吗?
我怎么能保证我的SaveChanges添加或删除breezejs实体后?
var newTodo = todoType.createEntity(initialValues);
manager.addEntity(newTodo);
我只想添加/删除实体到登录的用户。 其他用户不应该能够通过JavaScript的黑客实体添加到另一个用户。
查询只允许通过entites的服务器上编辑EFContextProvider是可能的。 但它是如何与删除工作,或者补充的吗?
您可以使用防止更改保存在服务器端
contexProvider的首要BeforeSaveEntitiesDelegate方法。
如
_contextProvider.BeforeSaveEntitiesDelegate = BeforeSaveEntities;
private Dictionary<Type, List<EntityInfo>> BeforeSaveEntities(Dictionary<Type, List<EntityInfo>> arg)
{
var resultToReturn = new Dictionary<Type, List<EntityInfo>>();
foreach (var type in arg.Keys)
{
var entityName = type.FullName;
var list = arg[type];
if (entityName == "xyz" && list[0].EntityState!="Added")
{
resultToReturn.Add(type, list);
}
}
return arg;
}
这将不保存新添加的实体名称为“XYZ”。