实现简单的字段变更记录

时间:2014-04-27 23:16:08   收藏:0   阅读:555

原理:

在实体类变更前对其进行备份,调用Newtonsoft.Json下的序列化方法将其存储成json格式,并在需要时调用反序列化方法,转化成实体类

 

bubuko.com,布布扣
public static class TestEntityChange
{
    //实体备份方法,在实体为修改前进行备份
    public static void EntityCopy<T>(this T t, Guid relid)
    {
        var test = new TestPropertyChangeLog();
        test.Relid = relid;
        test.Data = JsonConvert.SerializeObject(t);
        test.Create();
    }
    //将Json格式的数据转化成相应的实体
    public static T GetEntityCopy<T>(Guid relid)
    {
        var entity = TestPropertyChangeLog.GetAll().Find(x => x.Relid == relid);
        T a = (T)JsonConvert.DeserializeObject(entity.Data, typeof(T));
        return a;
    }
}
bubuko.com,布布扣


在页面调用GetEntityCopy方法:

TestA a = TestEntityChange.GetEntityCopy<TestA>(new Guid(EntityId));


 

对实体字段是否修改未作判断,待扩展!

 

 

实现简单的字段变更记录,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!