未调用 Breeze BeforeSaveEntity

Breeze BeforeSaveEntity is not being called

我不明白为什么在保存新评论时没有调用 BeforeSaveEntity()。评论被保存到数据库中,但我在服务器上修改的字段没有更新。未命中 BeforeSaveEntity 函数中的断点。 SaveChanges() 是 运行.

//server controller
public class LeaseRepository : EFContextProvider<LeaseEntities>
{

    public LeaseRepository(IPrincipal user)
    {
        //                
    }

    protected override bool BeforeSaveEntity(EntityInfo entityInfo)
    {
        var entity = entityInfo.Entity;

        if (entity is LeaseComment)
        {
            return BeforeSaveComment(entity as LeaseComment, entityInfo);
        }
        return base.BeforeSaveEntity(entityInfo);
    }

    private bool BeforeSaveComment(LeaseComment c, EntityInfo info)
    {
       // c.Comment = "server comment!";

        if (info.EntityState == EntityState.Added)
        {
            c.UserId = AgentId;// AdName;
            c.CreatedOn = DateTime.UtcNow.ToLocalTime();
        }

        return true;
    }


    private readonly EFContextProvider<LeaseEntities>
        _contextProvider = new EFContextProvider<LeaseEntities>();

    private LeaseEntities Context { get { return _contextProvider.Context; } }

    public string Metadata
    {
        get { return _contextProvider.Metadata(); }
    }

    public SaveResult SaveChanges(JObject saveBundle)
    {
        return _contextProvider.SaveChanges(saveBundle);
    } 
}

删除这两个函数修复了它。

public string Metadata
{
    get { return _contextProvider.Metadata(); }
}

public SaveResult SaveChanges(JObject saveBundle)
{
    return _contextProvider.SaveChanges(saveBundle);
} 

我猜 SaveChanges() 是问题所在。