作为 DbContext 中保存操作的一部分,我需要序列化扩展信息以存储在数据库的二进制字段中。
我编写了以下方法来拦截所有已添加或修改的 Client 对象,以确保在保存之前进行序列化。我想知道是否有更好的方法可以做到这一点,或者这种方法是否会产生问题。
public int Save()
{
foreach (Client client in this.Context.Local.Clients)
{
EntityState state = this.Context.Entry(client).State;
if (state == EntityState.Added || state == EntityState.Modified)
{
client.SerializeExtended();
}
}
return this.Context.SaveChanges();
}