未调用 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() 是问题所在。
我不明白为什么在保存新评论时没有调用 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() 是问题所在。