gpt4 book ai didi

.net - NHibernate.Linq : session becomes dirty after select

转载 作者:行者123 更新时间:2023-12-04 06:52:16 25 4
gpt4 key购买 nike

我有一个简单的 NHibernate linq 查询:

var queryable = session.Linq<Product>().Where(p => p.Active);
Product[] products = queryable.ToArray();

当下 ToArray()执行 session 变脏( session.IsDirty() 返回 true )。如果提交了事务,则会为每个产品生成一个 UPDATE SQL 查询。

为什么在简单的 SQL SELECT 之后产品被标记为脏?

在这个项目中,我们使用以下框架/工具:
  • .Net 3.5 + WPF
  • NHibernate 2.1.2 + FluentNHibernate
  • SQlite
  • PostSharp 1.5
  • 最佳答案

    这个问题叫做“Ghost”

    此测试将检测此类问题:
    http://fabiomaulo.blogspot.com/2008/10/how-test-your-mappings-ghostbuster.html

    这是我的改进,有点冗长,因此它将为您提供更多信息:
    http://jfromaniello.blogspot.com/2010/02/nhibernate-ghostbuster-version-11.html

    关于.net - NHibernate.Linq : session becomes dirty after select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2948754/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com