При сохранении сущности, которая была изменена, контекст успешно сохраняет изменения, даже если делегат возвращает false.
Сначала я подумал, что должен был создать подкласс ContextProvider, но затем, перечитав документы, я увиделэто: «Вам не нужно создавать подклассы ContextProvider для обеспечения логики до и после сохранения». (http://breeze.github.io/doc-net/contextprovider.html)
Я очистил код, удалил бизнес-правила и оставил только оператор «return false;», но он все еще сохраняет изменения. Выполнение действительно достигает точек останова, которые я установил в методе обычноЭто единое целое, оно меняется, и я не вижу, что с ним не так. У кого-нибудь была эта проблема раньше?
public class BreezeRepository : IBreezeRepository
{
private readonly EFContextProvider<Context> _contextProvider = new EFContextProvider<Context>();
public SaveResult SavePromo(JObject package)
{
//Defining the delegate that runs validations/business rules on the package before actually hitting the DB
_contextProvider.BeforeSaveEntityDelegate = BeforeSavePromo;
return _contextProvider.SaveChanges(pacage);
}
private bool BeforeSavePromo(EntityInfo entityInfo) {
return false;
}