NHibernate.Linq: сессия становится грязной после выбора - PullRequest
2 голосов
/ 01 июня 2010

У меня простой запрос NHiberntate linq:

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

В момент выполнения ToArray() сеанс становится грязным (session.IsDirty() возвращает true). Если транзакция зафиксирована, для каждого продукта создается SQL-запрос UPDATE.

Почему продукты помечаются как грязные после простого SQL SELECT?

В этом проекте мы используем следующие рамки / инструменты:

  • .Net 3.5 + WPF
  • NHibernate 2.1.2 + FluentNHibernate
  • SQlite
  • PostSharp 1.5

1 Ответ

3 голосов
/ 01 июня 2010

эта проблема называется "Призрак"

этот тест обнаружит такие проблемы: http://fabiomaulo.blogspot.com/2008/10/how-test-your-mappings-ghostbuster.html

это мое улучшение, оно немного более многословно, и поэтому даст вам больше информации http://jfromaniello.blogspot.com/2010/02/nhibernate-ghostbuster-version-11.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...