Database db 
=
 
new
 Database();
Transaction tx 

=
 db.BeginTransaction();

try

{
    

//
从缓存读取


    MyEntity1 entity1 
=
 cache.Get
<
MyEntity1
>
(

pk of entity1

); 
    

//
缓存中没有时从数据库读取


    
if
 (entity1 
==
 
null
) entity1 
=
 db.Get
<
MyEntity1
>
(

pk of entity1

);
    
    

//
对entity1进行处理



    updated 

=
 db.Update(entity1); 
//
entity1的更新保存到数据库中


    
if
 (updated) cache.Put(entity1); 
//
数据库更新成功,则更新缓存

    
//
事务中的其他处理



    tx.Commit();
}

catch

{
    tx.Rollback();
    

throw
;
}