<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://nhforge.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>FAQ</title><link>http://nhforge.org/wikis/burrow/faq.aspx</link><description>Learn about this lightweight framework for NHibernate offering smart session management for ASP.Net applications and more.</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>FAQ</title><link>http://nhforge.org/wikis/burrow/faq.aspx</link><pubDate>Wed, 16 Dec 2009 23:11:32 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:23</guid><dc:creator>Chris Missal</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Current revision posted to Burrow by Chris Missal on 16/12/2009 08:11:32 p.m.&lt;br /&gt;
&lt;h2&gt;FAQ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are &lt;span style="text-decoration: line-through; color: red;"&gt;multple&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;multiple&lt;/span&gt; databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/introduction.aspx" title="Click to view the page titled: Introduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Get Started"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Burrow Conversation Explained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: StatefulField Attributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: Click here for detail"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Long Burrow Conversation"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic.
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I change NHibernate configuration within Burrow on the fly?&lt;/b&gt;&lt;br /&gt;you can use the following code:
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;IFrameworkEnvironment fe = new BurrowFramework().BurrowEnvironment;
&lt;br /&gt; NHibernate.Cfg.Configuration cfg =&amp;nbsp;
fe.GetNHConfig(&amp;quot;PersistenceUnit1&amp;quot;);
&lt;br /&gt; ...&lt;br /&gt;//do whatever change you need to cfg
&lt;br /&gt; fe.RebuildSessionFactories(); &lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&amp;nbsp;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" width="8" height="8" alt="" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" height="8" width="8" alt="" /&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>FAQ</title><link>http://nhforge.org/wikis/burrow/faq/revision/11.aspx</link><pubDate>Tue, 04 Nov 2008 19:34:43 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:298</guid><dc:creator>kailuowang</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Revision 11 posted to Burrow by kailuowang on 04/11/2008 04:34:43 p.m.&lt;br /&gt;
&lt;h2&gt;FAQ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multple databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/introduction.aspx" title="Click to view the page titled: Introduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Get Started"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Burrow Conversation Explained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: StatefulField Attributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: Click here for detail"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Long Burrow Conversation"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;br /&gt;&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic.
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I change NHibernate configuration within Burrow on the fly?&lt;/b&gt;&lt;br /&gt;you can use the following code:
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;IFrameworkEnvironment fe = new BurrowFramework().BurrowEnvironment;
&lt;br /&gt; NHibernate.Cfg.Configuration cfg =&amp;nbsp;
fe.GetNHConfig(&amp;quot;PersistenceUnit1&amp;quot;);
&lt;br /&gt; ...&lt;br /&gt;//do whatever change you need to cfg
&lt;br /&gt; fe.RebuildSessionFactories(); &lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&amp;nbsp;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" width="8" height="8" alt="" /&gt;&lt;/p&gt;</description></item><item><title>FAQ</title><link>http://nhforge.org/wikis/burrow/faq/revision/10.aspx</link><pubDate>Tue, 04 Nov 2008 19:34:23 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:192</guid><dc:creator>kailuowang</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Revision 10 posted to Burrow by kailuowang on 04/11/2008 04:34:23 p.m.&lt;br /&gt;
&lt;h2&gt;FAQ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multple databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/introduction.aspx" title="Click to view the page titled: Introduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Get Started"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Burrow Conversation Explained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: StatefulField Attributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: Click here for detail"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Long Burrow Conversation"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;br /&gt;&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic.
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" height="8" width="8" alt="" /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="background: SpringGreen;"&gt;How&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;do&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;I&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;change&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;NHibernate&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;configuration&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;within&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Burrow&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;on&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;the&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fly&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;?&lt;/span&gt;&lt;br /&gt;&lt;span style="background: SpringGreen;"&gt;you&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;can&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;use&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;the&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;following&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;code&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="background: SpringGreen;"&gt;IFrameworkEnvironment&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;new&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;BurrowFramework().BurrowEnvironment&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;
&lt;br /&gt; &lt;span style="background: SpringGreen;"&gt;NHibernate.Cfg.Configuration&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cfg&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt;&amp;nbsp;
&lt;span style="background: SpringGreen;"&gt;fe.GetNHConfig&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;PersistenceUnit1&amp;quot;);&lt;/span&gt;
&lt;br /&gt; &lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;..&lt;/span&gt;&lt;br /&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/do&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;whatever&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;change&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;you&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;need&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;to&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cfg&lt;/span&gt;
&lt;br /&gt; &lt;span style="background: SpringGreen;"&gt;fe.RebuildSessionFactories()&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt; &lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&amp;nbsp;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" width="8" height="8" alt="" /&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>FAQ</title><link>http://nhforge.org/wikis/burrow/faq/revision/9.aspx</link><pubDate>Fri, 19 Sep 2008 13:12:34 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:191</guid><dc:creator>kailuowang</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Revision 9 posted to Burrow by kailuowang on 19/09/2008 10:12:34 a.m.&lt;br /&gt;
&lt;h2&gt;FAQ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multple databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/introduction.aspx" title="Click to view the page titled: Introduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Get Started"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Burrow Conversation Explained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: StatefulField Attributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: Click here for detail"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Long Burrow Conversation"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;br /&gt;&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic.
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" height="8" width="8" alt="" /&gt;&lt;/p&gt;</description></item><item><title>FAQ</title><link>http://nhforge.org/wikis/burrow/faq/revision/8.aspx</link><pubDate>Fri, 19 Sep 2008 13:12:34 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:132</guid><dc:creator>kailuowang</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Revision 8 posted to Burrow by kailuowang on 19/09/2008 10:12:34 a.m.&lt;br /&gt;
&lt;h2&gt;FAQ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multple databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/introduction.aspx" title="Click to view the page titled: Introduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Get Started"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Burrow Conversation Explained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: StatefulField Attributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: Click here for detail"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Long Burrow Conversation"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;br /&gt;&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic.
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" height="8" width="8" alt="" /&gt;&lt;/p&gt;</description></item><item><title>FAQ</title><link>http://nhforge.org/wikis/burrow/faq/revision/7.aspx</link><pubDate>Sun, 07 Sep 2008 21:48:23 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:128</guid><dc:creator>kailuowang</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Revision 7 posted to Burrow by kailuowang on 07/09/2008 06:48:23 p.m.&lt;br /&gt;
&lt;h2&gt;FAQ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multple databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/introduction.aspx" title="Click to view the page titled: Introduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Get Started"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Burrow Conversation Explained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: StatefulField Attributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: Click here for detail"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; 
&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Long Burrow Conversation"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;br /&gt;&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic.
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" height="8" width="8" alt="" /&gt;&lt;/p&gt;</description></item><item><title>FAQ</title><link>http://nhforge.org/wikis/burrow/faq/revision/6.aspx</link><pubDate>Sun, 07 Sep 2008 21:46:42 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:87</guid><dc:creator>kailuowang</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Revision 6 posted to Burrow by kailuowang on 07/09/2008 06:46:42 p.m.&lt;br /&gt;
&lt;h2&gt;FAQ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multple databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/introduction.aspx" title="Click to view the page titled: Introduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Get Started"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Burrow Conversation Explained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: StatefulField Attributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;&lt;a class="ExistingPageLink" href="/wikis/burrow/get-started.aspx" title="Click to view the page titled: Please view Get Started"&gt;Please view Get Started&lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a class="ExistingPageLink" href="/wikis/burrow/stateful-fields.aspx" title="Click to view the page titled: Click here for detail"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Please view &lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a class="ExistingPageLink" href="/wikis/burrow/conversation-explained.aspx" title="Click to view the page titled: Long Burrow Conversation"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;br /&gt;&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic.
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" height="8" width="8" alt="" /&gt;&lt;/p&gt;</description></item><item><title>FAQ</title><link>http://nhforge.org/wikis/burrow/faq/revision/5.aspx</link><pubDate>Sun, 07 Sep 2008 19:58:46 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:86</guid><dc:creator>kailuowang</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Revision 5 posted to Burrow by kailuowang on 07/09/2008 04:58:46 p.m.&lt;br /&gt;
&lt;h2&gt;FAQ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multple databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowIntroduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowConversationExplained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/StatefulFieldAttributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Please view &lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a href="http://nhcontrib.wiki.sourceforge.net/StatefulFieldAttributes"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Please view &lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowConversationExplained"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;br /&gt;&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic.
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" height="8" width="8" alt="" /&gt;&lt;/p&gt;</description></item><item><title> FAQ</title><link>http://nhforge.org/wikis/burrow/faq/revision/4.aspx</link><pubDate>Sun, 07 Sep 2008 19:42:26 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:79</guid><dc:creator>kailuowang</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Revision 4 posted to Burrow by kailuowang on 07/09/2008 04:42:26 p.m.&lt;br /&gt;
&lt;h2&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;BurrowFAQ&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;FAQ&lt;/span&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multple databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowIntroduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowConversationExplained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/StatefulFieldAttributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Please view &lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a href="http://nhcontrib.wiki.sourceforge.net/StatefulFieldAttributes"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Please view &lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowConversationExplained"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;br /&gt;&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic.
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" height="8" width="8" alt="" /&gt;&lt;/p&gt;</description></item><item><title>BurrowFAQ</title><link>http://nhforge.org/wikis/burrow/faq/revision/3.aspx</link><pubDate>Sun, 07 Sep 2008 18:31:42 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:73</guid><dc:creator>kailuowang</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Revision 3 posted to Burrow by kailuowang on 07/09/2008 03:31:42 p.m.&lt;br /&gt;
&lt;h2&gt;BurrowFAQ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multple databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowIntroduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowConversationExplained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/StatefulFieldAttributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Please view &lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a href="http://nhcontrib.wiki.sourceforge.net/StatefulFieldAttributes"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Please view &lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowConversationExplained"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;br /&gt;&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic.
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" height="8" width="8" alt="" /&gt;&lt;/p&gt;</description></item><item><title>BurrowFAQ</title><link>http://nhforge.org/wikis/burrow/faq/revision/2.aspx</link><pubDate>Sun, 07 Sep 2008 18:30:54 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:67</guid><dc:creator>kailuowang</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Revision 2 posted to Burrow by kailuowang on 07/09/2008 03:30:54 p.m.&lt;br /&gt;
&lt;h2&gt;BurrowFAQ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multple databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowIntroduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowConversationExplained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/StatefulFieldAttributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Please view &lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a href="http://nhcontrib.wiki.sourceforge.net/StatefulFieldAttributes"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Please view &lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowConversationExplained"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;br /&gt;&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic.
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt; 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" height="8" width="8" alt="" /&gt;&lt;/p&gt;</description></item><item><title>BurrowFAQ</title><link>http://nhforge.org/wikis/burrow/faq/revision/1.aspx</link><pubDate>Sun, 07 Sep 2008 18:27:51 GMT</pubDate><guid isPermaLink="false">45f813f2-f1c4-4eda-a619-288e3cadc793:66</guid><dc:creator>kailuowang</dc:creator><comments>http://nhforge.org/wikis/burrow/faq/comments.aspx</comments><description>Revision 1 posted to Burrow by kailuowang on 07/09/2008 03:27:51 p.m.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What is NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. &lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;What&amp;#39;s the major benefits offered by NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Burrow Conversation&lt;/b&gt; with which you can easily write business transaction 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GenericDAO&lt;/b&gt; with which ISession can be seldom touched most of the time 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stateful field attributes&lt;/b&gt; with which marked fields of Asp.net UserControl and Page will be stateful over multiple http requests. It helps UserControls or Pages remember entity without causing lazy load exception. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple databases support&lt;/b&gt; multiple databases becomes easy, you don&amp;#39;t need a SessionFactoryPath, you simply give Burrow an entity type, and Burrow will find the right ISession for you. If you are using GenericDAO, the multiple DB support can be very transparent - your code does not need to know there are multple databases. &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I learn more about NHibernate.Burrow?&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowIntroduction"&gt;Introduction&lt;/a&gt; - a brief introduction. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt; - tells how to setup the Burrow framework. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowConversationExplained"&gt;Burrow Conversation Explained&lt;/a&gt; - gives more detail in long conversation. 
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/StatefulFieldAttributes"&gt;StatefulField Attributes&lt;/a&gt; - explains how Burrow.WebUtil attributes can simplify states maintenance for ASP.NET controls and pages &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;How do I setup NHibernate.Burrow for my project?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Please view &lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why did I get this &amp;quot;cannot find entity with Id x&amp;quot; error with my [EntityField] after I deleted it?&lt;/b&gt;&lt;br /&gt;That&amp;#39;s because by default EntityField is using Session.Load() to load the entity for you. If you delete the entity, you need to reset that field to null, if you want to save this trouble, you can use [EntityFieldDeletionSafe] instead, it&amp;#39;s basically the same except that it&amp;#39;s using Session.Get(). &lt;a href="http://nhcontrib.wiki.sourceforge.net/StatefulFieldAttributes"&gt;Click here for detail&lt;/a&gt; about EntityFields 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I setup multiple databases?&lt;/b&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Please view &lt;/a&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowGetStarted"&gt;Get Started&lt;/a&gt;. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I store data in HttpSession?&lt;/b&gt;&lt;br /&gt;You might already know that you can not store entity in HttpSession in an OpenSessionPerView mode which is what NHibernate.Burrow is using most of the cases. Instead, you can store entity id in session and load the entity with Id every time you use it. Thanks to NHibernate&amp;#39;s cache, this won&amp;#39;t bring any performance issue to your system. Actually in many cases when you think you need to use HttpSession, what you actually need is &lt;a href="http://nhcontrib.wiki.sourceforge.net/BurrowConversationExplained"&gt;Long Burrow Conversation&lt;/a&gt; . 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;How do I do unit test under NHibernate.Burrow?&lt;/b&gt;&lt;br /&gt;To unit test under NHibernate.Burrow&amp;#39;s management you need to write your Setup and TearDown logic as follows.&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/code"&gt;&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;
&lt;div style="border:1px solid gray;margin:20px 0px 10px;padding:4px;overflow:auto;font-size:8pt;width:97.5%;cursor:text;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;max-height:200px;"&gt;
&lt;div style="border-style:none;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[SetUp]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Initialize() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().InitWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;[TearDown]&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Close() {&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:white;"&gt;  &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; BurrowFramework().CloseWorkSpace();&lt;/pre&gt;
&lt;pre style="border-style:none;margin:0em;padding:0px;overflow:visible;font-size:8pt;width:100%;color:black;line-height:12pt;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;background-color:#f4f4f4;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;li&gt;&lt;br /&gt;&lt;a href="http://nhcontrib.wiki.sourceforge.net/code"&gt;&amp;nbsp;&lt;/a&gt;&lt;br /&gt;Or you can use NHibernate.Burrow.TestUtil.TestBase as your NUnit unit test base class and override TearDowan() and SetUp() method to add your own TearDown and SetUp logic. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Is NHibernate.Burrow compatible with Ajax?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow is compatible with Ajax.Asp.net - the ajax framework provided by Microsoft. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Why I couldn&amp;#39;t finish a long conversation in an UpdatePanel in an Ajax.ASP.NET project?&lt;/b&gt;&lt;br /&gt;If you keep getting a javascript alert window giving the error message &amp;quot;Sys.WebForms.PageReqeustManagerParserErrorExcpetion: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.&amp;quot; you need to add the following setting into you system.web section in your web.config&lt;br /&gt;&amp;lt;pages enableViewStateMac=&amp;quot;false&amp;quot; viewStateEncryptionMode=&amp;quot;Never&amp;quot; enableEventValidation=&amp;quot;false&amp;quot;&amp;gt; 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of NHibernate is NHibernate.Burrow using&lt;/b&gt;?&lt;br /&gt;Burrow 1.0 alpha 1 is using NHibernate 2.0 Alpha 1. 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;What version of .Net framework does NHibernate.Burrow support?&lt;/b&gt;&lt;br /&gt;NHibernate.Burrow currently only works in .Net Framework 2.0 
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Does NHibernate.Burrow create session and transaction for every http request&lt;/b&gt;?&lt;br /&gt;Some existing OpenSessionPerView supporting HttpModule solutions create unnecessary session and transaction for every http request including requests for digital assets such as picture and css file. NHibernate.Burrow only creates session and transaction for http request handler that needs. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://nhcontrib.wiki.sourceforge.net/i/bTLin.gif" height="8" width="8" alt="" /&gt;&lt;/p&gt;</description></item></channel></rss>
