我在DB中有一个映射表,id为7,字段为Taex,值为"qwe“
在此代码中:
var fooObj = Foo.GetById(7);
fooObj.Taex = "abc";
using (new TransactionScope(OnDispose.Rollback))
{
var originalFooObj = Foo.GetById(7);
// how can i do to get real original object from database into a transaction
bool areEquals = fooObj.Taex == originalFooObj.Taex; // are equals
// because nhibernate gets the cached object.
}我需要将数据库的原始数据放入事务中,我该怎么办?
发布于 2012-02-20 23:03:51
NHibernate有Refresh方法。您可以使用它来强制NH从DB重新加载实体
发布于 2012-02-20 21:16:44
你不是已经有了吗:
var fooObj = Foo.GetById(7);
var tempTaex = fooObj.Taex; //**get the original value
fooObj.Taex = "abc";
using (new TransactionScope(OnDispose.Rollback))
{
var originalFooObj = Foo.GetById(7);
// how can i do to get real original object from database into a transaction
bool areEquals = fooObj.Taex == tempTaex; //**use it
// because nhibernate gets the cached object.
}https://stackoverflow.com/questions/9360165
复制相似问题