首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TransactionScope问题

TransactionScope问题
EN

Stack Overflow用户
提问于 2012-02-20 19:09:40
回答 2查看 210关注 0票数 0

我在DB中有一个映射表,id为7,字段为Taex,值为"qwe“

在此代码中:

代码语言:javascript
复制
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.
}

我需要将数据库的原始数据放入事务中,我该怎么办?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-20 23:03:51

NHibernate有Refresh方法。您可以使用它来强制NH从DB重新加载实体

票数 1
EN

Stack Overflow用户

发布于 2012-02-20 21:16:44

你不是已经有了吗:

代码语言:javascript
复制
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.
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9360165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档