Сохранение контекста, даже если делегат BeforeSaveEntity возвращает false - PullRequest
0 голосов
/ 23 октября 2019

При сохранении сущности, которая была изменена, контекст успешно сохраняет изменения, даже если делегат возвращает 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;
}
...