<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Wilson ORMapper Forums : Bugs &amp; Issues</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=rss&amp;id=1&amp;key=ql0ynsjTETgwoRfRT%2fOL5Q%3d%3d</link><description>Wilson ORMapper Forums : Bugs &amp; Issues</description><item><title>Null reference to list in many to many relationship</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2615&amp;key=47mS4Pv6OqFz2RxVxKRTrg%3d%3d&amp;post=7794</link><pubDate>Thu, 01 May 2008 17:10:58 GMT</pubDate><description>&lt;P&gt;How is focus.TitleList being initialized? You probably need to have the mapper create your focus object for you (using ObjectSpace&amp;lt;T&amp;gt;.Create()) so that the TitleList collection&amp;nbsp;gets initialized.&lt;/P&gt;</description></item><item><title>Null reference to list in many to many relationship</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2615&amp;key=47mS4Pv6OqFz2RxVxKRTrg%3d%3d&amp;post=7793</link><pubDate>Thu, 01 May 2008 14:48:35 GMT</pubDate><description>&lt;P&gt;I have a many to many relationship created in my database with FK constraints to the related tables. I am trying to add to the list of objects for each item selected in a check box. See code below. I am getting a null object reference to the focus.TitleList and I don't understand why. I created a new instance to my focus object so that is not null, but why would the TitleList be null?&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;focus = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; UnitVisitTracking.Business.&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Focus&lt;/FONT&gt;&lt;FONT size=2&gt;();&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;foreach&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;ListItem&lt;/FONT&gt;&lt;FONT size=2&gt; item &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;.TitleList.Items)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (item.Selected)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;UnitVisitTracking.Business.&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Title&lt;/FONT&gt;&lt;FONT size=2&gt; newTitle = UnitVisitTracking.Business.&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Title&lt;/FONT&gt;&lt;FONT size=2&gt;.RetrieveByKey(&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Convert&lt;/FONT&gt;&lt;FONT size=2&gt;.ToInt32(item.Value));&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (newTitle != &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/P&gt;
&lt;P&gt;{ focus.TitleList.Add(newTitle); }&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;</description></item><item><title>Fetching a mapped object inside a transaction?</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2607&amp;key=alneUDe5slUPZrXwtgIV0w%3d%3d&amp;post=7779</link><pubDate>Tue, 22 Jan 2008 16:26:06 GMT</pubDate><description>&lt;P&gt;I&amp;nbsp;&amp;nbsp;think I recall you mentioning having implemented this capability but hadn't released it yet. Do you plan on making it available? &lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;</description></item><item><title>RetrievePage and WhereClause problem</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2599&amp;key=WD0V4jkfFml%2fdalK86UhzQ%3d%3d&amp;post=7769</link><pubDate>Fri, 07 Dec 2007 07:38:52 GMT</pubDate><description>&lt;P&gt;Problem solved. The WHERE clause was missing parenthesis around the group of&amp;nbsp; fields being OR'd which were then being AND'd with additional fields!&lt;/P&gt;
&lt;P&gt;Thanks for the prompt response.&lt;/P&gt;</description></item><item><title>RetrievePage and WhereClause problem</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2599&amp;key=WD0V4jkfFml%2fdalK86UhzQ%3d%3d&amp;post=7768</link><pubDate>Thu, 06 Dec 2007 22:31:39 GMT</pubDate><description>What is "invalid" about the results?&amp;nbsp; Have you tried the same query in Sql Studio or Query Analyzer?&amp;nbsp; What kind of results are you getting there?&lt;br&gt;</description></item><item><title>RetrievePage and WhereClause problem</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2599&amp;key=WD0V4jkfFml%2fdalK86UhzQ%3d%3d&amp;post=7767</link><pubDate>Thu, 06 Dec 2007 21:07:33 GMT</pubDate><description>&lt;P&gt;&lt;FONT face=Arial&gt;I'm using the RetrievePage method to populate a grid using a simple paging mechanism.When I specify a WHERE clause that contains an OR expression, the RetrievePage method returns&amp;nbsp;invalid results. The RetrievePage method works fine when I use a simple WHERE clause with a single field. Can you help?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;1. The following WHERE clause works:&lt;BR&gt;field1 LIKE '%foo%'&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;2. The following WHERE clause gives invalid results:&lt;BR&gt;field1 LIKE '%foo%' &lt;STRONG&gt;OR&lt;/STRONG&gt; field2 LIKE '%foo%'&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Regards&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Martin&lt;/FONT&gt;&lt;/P&gt;</description></item><item><title>IObjectSet&lt;T&gt;.Remove method</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2598&amp;key=D%2bMD6me%2flRZMcmrQ2BlEBw%3d%3d&amp;post=7765</link><pubDate>Wed, 28 Nov 2007 17:29:52 GMT</pubDate><description>&lt;P&gt;Since IObjectSet&amp;lt;T&amp;gt; inherits Collection&amp;lt;T&amp;gt;, there is an inherited Remove(T item) method that can be called, thus bypassing the not supported&amp;nbsp;Remove(object entityObject) method in ObjectSet&amp;lt;T&amp;gt;. Is this desired? Does it work (I haven't gotten that far in unit testing)?&lt;/P&gt;
&lt;P&gt;If not, this could be fixed by changing the (object entityObject) arguments to (T entityObject) and using the new keyword. To the best of my knowledge, these arguments should be T anyway.&lt;/P&gt;
&lt;P&gt;I'm pretty sure I'm looking at the latest source code (SP).&lt;/P&gt;
&lt;P&gt;Thanks, Jamie&lt;/P&gt;</description></item><item><title>IList&lt;T&gt; vs List&lt;T&gt;</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2582&amp;key=A0Zk9QKbPtZdkBDbKynqOQ%3d%3d&amp;post=7736</link><pubDate>Wed, 12 Sep 2007 14:04:52 GMT</pubDate><description>&lt;P&gt;As far as I know --- you should use IList&amp;lt;T&amp;gt; (or ObjectSet&amp;lt;T&amp;gt;, which implements IList&amp;lt;T&amp;gt;) if you want lazy-loading. List&amp;lt;T&amp;gt; will not support this.&lt;/P&gt;</description></item><item><title>IList&lt;T&gt; vs List&lt;T&gt;</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2582&amp;key=A0Zk9QKbPtZdkBDbKynqOQ%3d%3d&amp;post=7734</link><pubDate>Mon, 10 Sep 2007 21:56:13 GMT</pubDate><description>I just ran into an issue with one of my applications:&lt;br&gt;&lt;br&gt;When the mapped member in a OneToMany relationship is List&amp;lt;T&amp;gt; it ignores the lazyLoad attribute and loads it anyway.&amp;nbsp; When setting the member type to IList&amp;lt;T&amp;gt; it does in fact lazy load.&amp;nbsp; &lt;br&gt;&lt;br&gt;Not sure if this is by design or not, but it might help others chase down performance problems.&lt;br&gt;</description></item><item><title>Delete from many to many with transactions and IObjectNotification</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2577&amp;key=8zH0%2fpGAqfq1vQkw4n3IHg%3d%3d&amp;post=7731</link><pubDate>Sun, 09 Sep 2007 08:01:16 GMT</pubDate><description>Hi Paul,&lt;br&gt;&lt;br&gt;Sorry it took me so long to respond.&lt;br&gt;&lt;br&gt;Regarding the relationships, I was following the many-to-many relationship example I saw somewhere on this site (I think in a forum message), which only implemented the relationship one-way.&lt;br&gt;&lt;br&gt;In any case, I fixed the problem by fixing the relationships in the database. It seems I forgot to cascade the deletions on both sides of the many-to-many table. Once I did that, everything worked very smoothly.&lt;br&gt;&lt;br&gt;In fact, I was able to remove the OnDelete IObjectNotification implementation, since the database deletion takes care of the cascade (which is what I was really trying to enforce in the code).&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Noam&lt;br&gt;&lt;br&gt;btw, there's a problem with the html editor in firefox, where it seems to run some javascript loop endlessly. Firefox is able to monitor these infinite loops and abort them, but it's annoying because it takes some time for it to pick up on it.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Delete from many to many with transactions and IObjectNotification</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2577&amp;key=8zH0%2fpGAqfq1vQkw4n3IHg%3d%3d&amp;post=7723</link><pubDate>Mon, 27 Aug 2007 18:06:14 GMT</pubDate><description>&lt;P&gt;Hi Noam:&lt;/P&gt;
&lt;P&gt;The reason you're not getting deleting a product to automatically also delete productstocategories is because you don't have that relationship setup for products -- you only have it setup the other way.&amp;nbsp; As for the IObjectNotification event, you have the ability to do anything you want with the transaction that you are given, including creating and executing your own command.&amp;nbsp; On the other hand, if you simply pass that transaction on to some other "SaveWithTransaction" method, then if there's a questionable order to the sql operations then I would take a look at that "SaveWithTransaction" method.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>Delete from many to many with transactions and IObjectNotification</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2577&amp;key=8zH0%2fpGAqfq1vQkw4n3IHg%3d%3d&amp;post=7722</link><pubDate>Mon, 27 Aug 2007 08:30:31 GMT</pubDate><description>I tried to post this before, but it doesn't seem to have shown up, so I apologize if this post appears twice.&lt;br&gt;&lt;br&gt;I have the following many to many relationship in the db:&lt;br&gt;&lt;br&gt;ProductCategories (ProductCategoryId, fields)&lt;br&gt;ProductsToCategories (ProductCategoryId, ProductId)&lt;br&gt;Products (ProductId, fields)&lt;br&gt;&lt;br&gt;In mappings.config, I have the following mappings:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;entity type="Logic.Product" table="Products" keyMember="_productId" keyType="Auto"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_productId" field="ProductId" alias="ProductId" oledbtype="Integer" cstype="int" vbtype="Integer" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/entity&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;entity type="Logic.ProductCategory" table="ProductCategories" keyMember="_productCategoryId" keyType="Auto"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_productCategoryId" field="ProductCategoryId" alias="ProductCategoryId" oledbtype="Integer" cstype="int" vbtype="Integer" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="ManyToMany" member="_products" field="ProductId"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="Logic.Product" alias="Products" lazyLoad="true"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; table="ProductsToCategories" sourceField="ProductCategoryId" destField="ProductId"&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/entity&amp;gt;&lt;br&gt;&lt;br&gt;I've used a slightly modified version of Paul Welter's CodeSmith templates to generate my classes with IObjectNotification. This generates the Products property correctly on the ProductCategory class.&lt;br&gt;&lt;br&gt;When I delete a product, it does not get automatically deleted from ProductsToCategories. Is there a way to set it up to do this automatically?&lt;br&gt;&lt;br&gt;In the meantime, I've implemented the IObjectNotification.OnDeleting method in Product.cs as follows:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void OnDeleting(Transaction transaction)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string opath = "Products[ProductId = ?]";&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPathQuery&amp;lt;ProductCategory&amp;gt; query = new OPathQuery&amp;lt;ProductCategory&amp;gt;(opath);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Collection&amp;lt;ProductCategory&amp;gt; categories = DataManager.ObjectSpace.GetCollection(query, ProductId);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach(ProductCategory category in categories)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; category.Products.Remove(this);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; category.SaveWithTransaction(transaction);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&lt;br&gt;The problem is that the it seems that this adds this category save operation *after* the product delete operation in the transaction itself. But shouldn't any operations added to the transaction in OnDeleting (or OnUpdating and OnCreating, for that matter) be added first?&lt;br&gt;&lt;br&gt;It seems like a minor change in order of operations, but I also don't know what other consequences this might have?&lt;br&gt;&lt;br&gt;Is this a bug, or is it by design?&lt;br&gt;&lt;br&gt;Thanks in advance,&lt;br&gt;Noam&lt;br&gt;&lt;br&gt;</description></item><item><title>SQL Server 2005 Schema problem and paging ...</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2554&amp;key=zsqbT8dB0U7%2bj%2f4P3IfIpg%3d%3d&amp;post=7694</link><pubDate>Sun, 12 Aug 2007 03:58:04 GMT</pubDate><description>Did you try the "as temptable" fix I mentioned in that thread? That has worked for me with no issues.</description></item><item><title>Queries on Abstract Base Classes Not Working</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2565&amp;key=4wrqBovMTKflTq%2fLAGhvUQ%3d%3d&amp;post=7687</link><pubDate>Wed, 08 Aug 2007 01:17:39 GMT</pubDate><description>&lt;P&gt;Hi Brad:&lt;/P&gt;
&lt;P&gt;I believe my expectation in a case like this was that you wouldn't map CategorizedItem since its not adding anything as far as the mapper is concerned.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>Queries on Abstract Base Classes Not Working</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2565&amp;key=4wrqBovMTKflTq%2fLAGhvUQ%3d%3d&amp;post=7686</link><pubDate>Tue, 07 Aug 2007 06:19:42 GMT</pubDate><description>&lt;P&gt;Hi, Paul,&lt;/P&gt;
&lt;P&gt;Here's a bit of my class hierarchy:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Item (abstract, entity in mapping file, typeField="ItemType")&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;CategorizedItem (abstract, inherits Item, subEntity in mapping file, typeValue=1)&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;LineItem (inherits CategorizedItem, subEntity in mapping file, typeValue=2)&lt;/LI&gt;
&lt;LI&gt;StaffingItem (inherits CategorizedItem, subEntity in mapping file, typeValue=3)&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;When I try this code:&lt;/P&gt;
&lt;P&gt;ObjectSpace os = Manager.Engine.GetObjectSet(typeof(CategorizedItem), "")&lt;/P&gt;
&lt;P&gt;the mapper's SQL criteria, as viewed by SQL Profiler, &amp;nbsp;specifies 'ItemType = 1'&lt;/P&gt;
&lt;P&gt;This doesn't return any values, even if I have LineItems and StaffingItems in the table, because their ItemType values are 2 and 3, respectively.&lt;/P&gt;
&lt;P&gt;Am I missing something?&amp;nbsp; The Mapping File Options wiki entry says that if CategorizedItem is abstract, I don't need to supply a typeValue, but if I don't, the mapper doesn't initialize, saying a typeValue hasn't been specified for CategorizedItem.&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Brad&lt;/P&gt;</description></item><item><title>SQL Server 2005 Schema problem and paging ...</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2554&amp;key=zsqbT8dB0U7%2bj%2f4P3IfIpg%3d%3d&amp;post=7663</link><pubDate>Tue, 19 Jun 2007 20:10:11 GMT</pubDate><description>&lt;P&gt;This appears to be unresolved unless I missed something:&lt;/P&gt;
&lt;P&gt;&lt;A href="/Forums/Default.aspx?part=74&amp;amp;action=thread&amp;amp;id=2412&amp;amp;key=i0S4w%2fsmADcZL3fg5Vk%2bLg%3d%3d"&gt;http://ormapper.net/Forums/Default.aspx?part=74&amp;amp;action=thread&amp;amp;id=2412&amp;amp;key=i0S4w%2fsmADcZL3fg5Vk%2bLg%3d%3d&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I'm having the same problem using the MS AdventureWorks DB that uses schemas profusely (e.g. Production.Product).&lt;/P&gt;
&lt;P&gt;Any fix?&lt;/P&gt;
&lt;P&gt;Thanks - wayde&lt;/P&gt;</description></item><item><title>Trick to allow SQL Server 2005 paging without a sort criteria.</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2546&amp;key=NUVbnLYY9dGgoFRszpdIPA%3d%3d&amp;post=7662</link><pubDate>Tue, 19 Jun 2007 19:14:56 GMT</pubDate><description>&lt;P&gt;I'm still getting the exception whenever I attempt to include paging against a sql 2005 db.&amp;nbsp; Any ideas???&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;STRONG&gt;Wilson.ORMapper.ORMapperException: ObjectSpace: Paging requires a Sort Clause&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;ObjectDataSource declaration:&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;ObjectDataSource&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;ID&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="dsMessages"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;runat&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="server"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;TypeName&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="WORW.Data.ProductService"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;OldValuesParameterFormatString&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="original_{0}"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;SortParameterName&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="sortClause"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;EnablePaging&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="True"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;SelectMethod&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="RetrievePage"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;SelectCountMethod&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="RetrieveTotalRecordCount"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;DeleteMethod&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="Delete"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;OnDeleting&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="dsMessages_Deleting"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;InsertMethod&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="Insert"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;OnInserted&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="dsMessages_Inserted"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;OnInserting&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="dsMessages_Inserting"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;UpdateMethod&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="Save"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;OnUpdating&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="dsMessages_Updating"&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;SelectParameters&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;Parameter&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;DefaultValue&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="1"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Name&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="startRowIndex"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Type&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="Int32"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;Parameter&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;DefaultValue&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="20"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Name&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="maximumRows"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Type&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="Int32"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;Parameter&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;DefaultValue&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="Name"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Name&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="sortClause"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;Type&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="String"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;SelectParameters&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;ObjectDataSource&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;</description></item><item><title>Sorting problem when "alias" != "field"</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2553&amp;key=YC7JV3hUZ43TwsSlIZ9dpw%3d%3d&amp;post=7661</link><pubDate>Tue, 19 Jun 2007 19:12:44 GMT</pubDate><description>&lt;P&gt;I'm working on a demo that illustrates how WORM can be used in conjunction with the GridView/ObjectDataSource.&amp;nbsp; Anwyays, it appears that sorting doesn't work when the "alias" != "field"&lt;/P&gt;
&lt;P&gt;Example:&lt;FONT color=#0000ff size=2&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;attribute&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;member&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;id&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;field&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ProductID&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;alias&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Id&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;type&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;System.Int32&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; /&amp;gt; (in mapping.xml)&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;BoundField&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;DataField&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="Id"&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;HeaderText&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="Id"&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;InsertVisible&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="False"&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;ReadOnly&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="True" &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;SortExpression&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="Id"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt; (in asp:gridview)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;The exception:&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;STRONG&gt;System.Data.SqlClient.SqlException: Invalid column name 'Id'.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;But I don't get it!&amp;nbsp; The whole idea of the "alias" attribute is to abstract your object property names from the corresponding table column names ... WORM should be smart enough to use the "field" attribute irregardless of whether "alias" is used or not.&lt;/P&gt;
&lt;P&gt;Am I missing something here???&lt;/P&gt;
&lt;P&gt;Thanks - wayde&lt;/P&gt;</description></item><item><title>Unnecessarily loading lazy-loaded relations when deleting an object</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2411&amp;key=GOqLYob%2bamw1eso1gyGfXQ%3d%3d&amp;post=7652</link><pubDate>Fri, 08 Jun 2007 21:51:06 GMT</pubDate><description>&lt;P&gt;Hi, there - I think I have just run into this, too.&amp;nbsp; When a lazy-load child list is not yet loaded and you try to delete the parent, the child list gets loaded.&amp;nbsp; This is normally not a problem, except when the child entities have lazy-loaded child lists themselves (grandchildren).&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Consider this graph of classes A, B and C&lt;/P&gt;
&lt;P&gt;A:1 (parent)&lt;BR&gt;--B:1 (child of A:1)&lt;BR&gt;----C:1 (child of B:1)&lt;BR&gt;--B:2 (child of A:1)&lt;BR&gt;&amp;nbsp; ----C:2 (child of B:2)&lt;/P&gt;
&lt;P&gt;If A1's list of B is loaded, and both of B's lists of C are loaded, worm can&amp;nbsp;successfully delete A:1 by: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Delete all C where parent is B:1&lt;/LI&gt;
&lt;LI&gt;Delete all C where parent is B:2&lt;/LI&gt;
&lt;LI&gt;Delete all B where parent is A:1&lt;/LI&gt;
&lt;LI&gt;Delete A:1&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;BUT, if A:1's list of B is not yet loaded and worm tries to delete A:1, this happens:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Load all B where parent is A:1&lt;/LI&gt;
&lt;LI&gt;Load all C where parent is B:1&lt;/LI&gt;
&lt;LI&gt;Delete all C where parent is B:1&lt;/LI&gt;
&lt;LI&gt;Load all C where parent is B:2.........CRASH!&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Step 4 causes a timeout (in&amp;nbsp;SQL&amp;nbsp;Server&amp;nbsp;anyway) because the C table is locked by the delete in step 3.&lt;/P&gt;
&lt;P&gt;This is easy to see by running a trace and watching.&amp;nbsp; Can anyone else confirm this behavior?&lt;/P&gt;
&lt;P&gt;Thanks, David Martines&lt;/P&gt;</description></item><item><title>Trick to allow SQL Server 2005 paging without a sort criteria.</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2546&amp;key=NUVbnLYY9dGgoFRszpdIPA%3d%3d&amp;post=7648</link><pubDate>Wed, 06 Jun 2007 22:48:32 GMT</pubDate><description>Paul, in the&amp;nbsp;last code&amp;nbsp;I sent you, if you try to page over a SQL 2005 we decided to throw if no OrderBy criteria was set and you try to page using the SQL 2005 Provider.&amp;nbsp; Turns out if you want you can order by a bogus criteria in the OVER clause like ORDER BY CURRENT_TIMESTAMP so we don't have to throw.&amp;nbsp; Want that code?</description></item><item><title>Plurals</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2503&amp;key=dfjuE04rM9peJU9FZWoXwQ%3d%3d&amp;post=7595</link><pubDate>Tue, 01 May 2007 23:10:52 GMT</pubDate><description>&lt;P&gt;First, lets be clear, that's not the ORMapper doing that -- its code generator you are using, probably either my ORHelper or the CodeSmith templates some have donated.&amp;nbsp; I seem to recall there being an option to turn that off in the CS templates, but even if I'm wrong that's not hard to change in the templates yourself, and the ORHelper gives you the ability to edit things before generating code, although kludgy.&amp;nbsp; Anyhow, even if not you just go with the default in code gen, you can modify it afterwards -- the ORMapper will use what you specify.&amp;nbsp; As for why this is the default -- because its simply standard database practice to name tables with plural form while its standard OO practice to name objects with singular form.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>Plurals</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2503&amp;key=dfjuE04rM9peJU9FZWoXwQ%3d%3d&amp;post=7545</link><pubDate>Tue, 01 May 2007 23:06:15 GMT</pubDate><description>&lt;P&gt;I've been testing the ORMapper with a set of SQL 2005 tables. Everything seemed to work, but the resulting classes lacked the "s" at the end of my table names. Thus, the Attributes table became the Attribute class. This caused problems in the .NET code, because the Attribute property now has the same name as its containing class. What is the rationale for removing the plural?&lt;/P&gt;
&lt;P&gt;The workaround, of course, is to rename all my tables and run the mapper again, but if there is a simpler suggestion I'd appreciate it.&lt;/P&gt;</description></item><item><title>Error during rollback/Zombie message</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2450&amp;key=IaC12zYu0ykFv3qP9v11Tg%3d%3d&amp;post=7555</link><pubDate>Tue, 01 May 2007 23:05:36 GMT</pubDate><description>&lt;P&gt;This solution worked for us as well.&amp;nbsp; Wow! That was a nasty one.&amp;nbsp;Thanks guys!&lt;/P&gt;
&lt;P&gt;-Justin&lt;/P&gt;</description></item><item><title>Updating Table</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2506&amp;key=RII%2bOoawsCYVOOt%2fW8YncQ%3d%3d&amp;post=7563</link><pubDate>Tue, 01 May 2007 23:05:25 GMT</pubDate><description>&lt;P&gt;Hi There, I'm not sure you if typed the code or done a copy/paste but you are missing a closing parenthesis after "CompanyId == 123" to close the OPathQuery class Constructor.&lt;/P&gt;
&lt;P&gt;it probably should be:&lt;/P&gt;
&lt;P&gt;OPathQuery query = new OPathQuery(typeof(PerryWorld.Productfolio.BusinessObjects.TblCompany), "CompanyId == 123");&lt;/P&gt;</description></item><item><title>Error during rollback/Zombie message</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2450&amp;key=IaC12zYu0ykFv3qP9v11Tg%3d%3d&amp;post=7575</link><pubDate>Tue, 01 May 2007 23:04:44 GMT</pubDate><description>&lt;P&gt;I can definitely acknowledge that you and a few others are obviously encountering a very real problem.&amp;nbsp; I hesitate to call it a bug since I know the previous problem like this that I had fixed was due to a bug in ADO.NET.&amp;nbsp; But nonetheless it does seem to be a new issue, so it may well be a bug too, and no matter what it should be fixed.&amp;nbsp; On the other hand, I know that I and many others run quite a few applications that have never ever encountered this issue.&amp;nbsp; That has certainly contributed to my not forcing myself to have to find the time to look into this, and unfortunately I just am not getting things done that I would like to do, including finishing already started stuff.&lt;/P&gt;
&lt;P&gt;At one time I believed that I just needed to change my job situation, as the one that I was at had grown to expect too much of my time.&amp;nbsp; About the time I changed jobs my wife changed positions and started working a very very early morning shift.&amp;nbsp; I thought I would adapt but I never did, and she has now found a more normal position.&amp;nbsp; So now I find that my current job is not expecting too much, and my home life has finally gotten mostly back to normal, but I am so far behind on what I want to do on my own that its gotten depressing.&amp;nbsp; Meanwhile its been so long since I've had free time that I've been enjoying spending it in other ways, which just adds to my delays.&lt;/P&gt;
&lt;P&gt;That's probably not what you were asking for when you asked me to comment, but I hope it does clarify where I am at.&amp;nbsp; I believe I was always clear from the beginning that my ORMapper was something that I found useful for myself, and that was why and remains why I created it.&amp;nbsp; Of course instead of sharing my code for free I charged $50, but that was always because I felt it was a significant amount of code, and not because I was trying to become a software vendor.&amp;nbsp; I think most people have understood this and not expected to much, and to that end I've actually went far beyond that in my upkeep of the ORMapper, even better than some real vendors if I dare so.&lt;/P&gt;
&lt;P&gt;Unfortunately that may have created the impression that I was always going to make this my priority, but as much as I sometimes want to, that simply is not and cannot be my reality.&amp;nbsp; So while I do still hope to make the time to make another official release, including this bug fix, I'm also very happy to see that Rob has apparently fixed it since I haven't found the time.&amp;nbsp; In the meantime, I hope that you and others continue to find the ORMapper to be useful once you get this bug fix in place, as I know I and many others have.&amp;nbsp; I do hope to either update it for Linq, or if Linq is good enough then I want to update my Portal to Linq -- whatever I find useful myself again, and hopefully others will agree.&lt;/P&gt;
&lt;P&gt;I should stop myself now.&amp;nbsp; :)&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>Error during rollback/Zombie message</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2450&amp;key=IaC12zYu0ykFv3qP9v11Tg%3d%3d&amp;post=7584</link><pubDate>Wed, 18 Apr 2007 15:32:40 GMT</pubDate><description>&lt;P&gt;Strike!&lt;/P&gt;
&lt;P&gt;The fix works. Whereas with the old version we could reproduce the zombie within several thousand saves, with the fix in place it didn't occur after one million.&lt;/P&gt;
&lt;P&gt;By the way, the error seemed always to occur more often on heavily memory and cpu&amp;nbsp;constrained systems (not on our development systems). After seeing the patch i can now imagine why. &lt;/P&gt;
&lt;P&gt;Thanks again,&lt;/P&gt;
&lt;P&gt;Gunter&lt;/P&gt;</description></item><item><title>Error during rollback/Zombie message</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2450&amp;key=IaC12zYu0ykFv3qP9v11Tg%3d%3d&amp;post=7576</link><pubDate>Fri, 13 Apr 2007 02:18:19 GMT</pubDate><description>We were seeing this error from time to time and a couple weeks ago I came across this thread and updated the code as described.&amp;nbsp; We haven't seen the issue since.&amp;nbsp; Hopefully you'll have the same experience, and hopefully the fix will make it's way into the next release. :)&lt;br&gt;&lt;br&gt;Cheers,&lt;br&gt;Steve&lt;br&gt;http://iqueryable.com/&lt;br&gt;</description></item><item><title>Error during rollback/Zombie message</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2450&amp;key=IaC12zYu0ykFv3qP9v11Tg%3d%3d&amp;post=7573</link><pubDate>Thu, 12 Apr 2007 14:28:18 GMT</pubDate><description>&lt;P&gt;Rob,&lt;/P&gt;
&lt;P&gt;If this really fixes it, I'll send you over a case of good german beer :)&lt;/P&gt;
&lt;P&gt;We discovered/posted this problem already months ago&amp;nbsp;and worked around it just retrying transactions up to three times when we get this zombie error. We were just about to switch to another O/R mapper because of this problem and the feeling it will never be fixed.&lt;/P&gt;
&lt;P&gt;We could reproduce the error several times a&amp;nbsp;hour before with a small test program and will test the fix tomorrow and post about our results.&lt;/P&gt;
&lt;P&gt;Paul, could you please comment on this?&lt;/P&gt;
&lt;P&gt;Regards, Gunter&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Updating Table</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2506&amp;key=RII%2bOoawsCYVOOt%2fW8YncQ%3d%3d&amp;post=7565</link><pubDate>Mon, 09 Apr 2007 08:27:34 GMT</pubDate><description>&lt;P&gt;Thanks for the reply - it was a typo&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008080 size=2&gt;OPathQuery&lt;/FONT&gt;&lt;FONT size=2&gt; query = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;OPathQuery&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;typeof&lt;/FONT&gt;&lt;FONT size=2&gt;(PerryWorld.Productfolio.BusinessObjects.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;TblCompany&lt;/FONT&gt;&lt;FONT size=2&gt;), &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"CompanyId == 123")&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;I'm still getting the same problem.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Cheers&lt;BR&gt;Rich&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;</description></item><item><title>Updating Table</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2506&amp;key=RII%2bOoawsCYVOOt%2fW8YncQ%3d%3d&amp;post=7564</link><pubDate>Sun, 08 Apr 2007 22:14:47 GMT</pubDate><description>&lt;P&gt;Hi There, I'm not sure you if typed the code or done a copy/paste but you are missing a closing parenthesis after "CompanyId == 123" to close the OPathQuery class Constructor.&lt;/P&gt;
&lt;P&gt;it probably should be:&lt;/P&gt;
&lt;P&gt;OPathQuery query = new OPathQuery(typeof(PerryWorld.Productfolio.BusinessObjects.TblCompany), "CompanyId == 123");&lt;/P&gt;</description></item><item><title>Updating Table</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2506&amp;key=RII%2bOoawsCYVOOt%2fW8YncQ%3d%3d&amp;post=7559</link><pubDate>Sun, 08 Apr 2007 10:19:59 GMT</pubDate><description>&lt;P&gt;Hi,&lt;BR&gt;We have a simple table that we are trying to update as follows :&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;OPathQuery&lt;/FONT&gt;&lt;FONT size=2&gt; query = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;OPathQuery&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;typeof&lt;/FONT&gt;&lt;FONT size=2&gt;(PerryWorld.Productfolio.BusinessObjects.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;TblCompany&lt;/FONT&gt;&lt;FONT size=2&gt;), &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"CompanyId == 123"&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/P&gt;
&lt;P&gt;PerryWorld.Productfolio.BusinessObjects.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;TblCompany&lt;/FONT&gt;&lt;FONT size=2&gt; company = (PerryWorld.Productfolio.BusinessObjects.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;TblCompany&lt;/FONT&gt;&lt;FONT size=2&gt;)&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Manager&lt;/FONT&gt;&lt;FONT size=2&gt;.Engine.GetObject(query);&lt;/P&gt;
&lt;P&gt;company.TrialVersion = &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"N"&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;/P&gt;
&lt;P&gt;company.TrialPeriod = 0;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Manager&lt;/FONT&gt;&lt;FONT size=2&gt;.Engine.StartTracking(company, Wilson.ORMapper.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;InitialState&lt;/FONT&gt;&lt;FONT size=2&gt;.Updated);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Manager&lt;/FONT&gt;&lt;FONT size=2&gt;.Engine.PersistChanges(company, &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;PersistDepth&lt;/FONT&gt;&lt;FONT size=2&gt;.SingleObject);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;But we get an error saying&amp;nbsp;&amp;nbsp; "Line 1: Incorrect syntax near ';'."&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Any help would be appreciated&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Thanks&lt;BR&gt;Rich&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>The passed arrays are different lengths</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2260&amp;key=zbhhUOBbB95zglj6T7lUYw%3d%3d&amp;post=7543</link><pubDate>Sun, 01 Apr 2007 00:23:37 GMT</pubDate><description>&lt;P&gt;It looks like the same thing again.&amp;nbsp; You're going to have to have a composite key definition in your relationship.&amp;nbsp; That means in your case 2 members and 2 fields -- not just one of each.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>The passed arrays are different lengths</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2260&amp;key=zbhhUOBbB95zglj6T7lUYw%3d%3d&amp;post=7540</link><pubDate>Sun, 01 Apr 2007 00:21:16 GMT</pubDate><description>&lt;P&gt;Ok, Thanks Paul, this problem was solved but I have a new problem with another 2 tables and I can't see what's wrong :-S&lt;/P&gt;
&lt;P&gt;&lt;U&gt;the message is the same:&lt;/U&gt;&lt;/P&gt;
&lt;H2&gt;&lt;FONT size=3&gt;The passed arrays are different lengths. &amp;nbsp;This may indicate a problem with the mapping for entity 'GTrafico.Data.TITINERARIO'. &lt;/FONT&gt;&lt;/H2&gt;
&lt;P&gt;&lt;U&gt;The tables&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;TPROGRAMA&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;IDPROG (PK)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;NUMODO (PK)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;ETC....&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;TITINERARIO&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;NSITINE (PK)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT size=2&gt;IDPROG (PK, FK)&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT size=2&gt;NUMODO (PK, FK)&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;MASCARA (PK)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;FEINI (PK)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;ETC...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;The code that fails:&lt;/U&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;Dim&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; keys(1) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Object&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;keys(0) = "5654/4"&lt;/P&gt;
&lt;P&gt;keys(1) = 6&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Return&lt;/FONT&gt;&lt;FONT size=2&gt; Global.Manager.GetObject(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GetType&lt;/FONT&gt;&lt;FONT size=2&gt;(TPROGRAMA), keys)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;U&gt;and the mapping file&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;FONT size=2&gt;&amp;lt;entity type="GTrafico.Data.TPROGRAMA" table="&lt;STRONG&gt;TPROGRAMA&lt;/STRONG&gt;" keyMember="_&lt;STRONG&gt;iDPROG,_nUMODO&lt;/STRONG&gt;" keyType="Composite" changesOnly="true"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_iDPROG" field="IDPROG" alias="IDPROG" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_nUMODO" field="NUMODO" alias="NUMODO" type="System.Byte" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_cOPE" field="COPE" alias="COPE" type="System.String" nullValue="" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_iDTDIA" field="IDTDIA" alias="IDTDIA" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_dEPROG" field="DEPROG" alias="DEPROG" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEINI" field="FEINI" alias="FEINI" type="System.DateTime" nullValue="01/01/0001 0:00:00" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEFIN" field="FEFIN" alias="FEFIN" type="System.DateTime" nullValue="01/01/0001 0:00:00" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEAUTORIZ" field="FEAUTORIZ" alias="FEAUTORIZ" type="System.DateTime" nullValue="01/01/0001 0:00:00" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEALTA" field="FEALTA" alias="FEALTA" type="System.DateTime" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_oBSERVA" field="OBSERVA" alias="OBSERVA" type="System.String" nullValue="" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="ManyToOne" member="_tPERIODOObject" field="IDTDIA" alias="TPERIODOObject" type="GTrafico.Data.TPERIODO" lazyLoad="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&amp;lt;relation relationship="OneToMany" member="_tITINERARIOList" field="IDPROG" alias="TITINERARIOList" type="GTrafico.Data.TITINERARIO" lazyLoad="true" cascadeDelete="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="OneToMany" member="_tITINERARIOList2" field="NUMODO" alias="TITINERARIOList2" type="GTrafico.Data.TITINERARIO" lazyLoad="true" cascadeDelete="true" /&amp;gt;&lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="OneToMany" member="_tPLANIFICACIONList" field="IDPROG" alias="TPLANIFICACIONList" type="GTrafico.Data.TPLANIFICACION" lazyLoad="true" cascadeDelete="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="OneToMany" member="_tPLANIFICACIONList2" field="NUMODO" alias="TPLANIFICACIONList2" type="GTrafico.Data.TPLANIFICACION" lazyLoad="true" cascadeDelete="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/entity&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;lt;entity type="GTrafico.Data.TITINERARIO" table="&lt;STRONG&gt;TITINERARIO&lt;/STRONG&gt;" keyMember="_nSITINE&lt;STRONG&gt;,_iDPROG&lt;/STRONG&gt;,_mASCARA,_fEINI&lt;STRONG&gt;,_nUMODO&lt;/STRONG&gt;" keyType="Composite" changesOnly="true"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_nSITINE" field="NSITINE" alias="NSITINE" type="System.Int32" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_iDPROG" field="IDPROG" alias="IDPROG" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_nUMODO" field="NUMODO" alias="NUMODO" type="System.Byte" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_mASCARA" field="MASCARA" alias="MASCARA" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEINI" field="FEINI" alias="FEINI" type="System.DateTime" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEFIN" field="FEFIN" alias="FEFIN" type="System.DateTime" nullValue="01/01/0001 0:00:00" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEALTA" field="FEALTA" alias="FEALTA" type="System.DateTime" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_oBSERVA" field="OBSERVA" alias="OBSERVA" type="System.String" nullValue="" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;STRONG&gt; &amp;lt;relation relationship="ManyToOne" member="_tPROGRAMAObject" field="IDPROG" alias="TPROGRAMAObject" type="GTrafico.Data.TPROGRAMA" lazyLoad="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="ManyToOne" member="_tPROGRAMAObject2" field="NUMODO" alias="TPROGRAMAObject2" type="GTrafico.Data.TPROGRAMA" lazyLoad="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/entity&amp;gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Do you see the problem?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Thanks for your time ;-)&lt;/FONT&gt;&lt;/P&gt;</description></item><item><title>The passed arrays are different lengths</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2260&amp;key=zbhhUOBbB95zglj6T7lUYw%3d%3d&amp;post=7541</link><pubDate>Wed, 28 Mar 2007 16:22:42 GMT</pubDate><description>&lt;P&gt;Hi Wilson, I have solved the previous problem! &lt;/P&gt;
&lt;P&gt;The right line is &lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;lt;entity type="GTrafico.Data.TPROGRAMA" table="TPROGRAMA" keyMember="_iDPROG,_nUMODO" keyType="Composite" changesOnly="true"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_iDPROG" field="IDPROG" alias="IDPROG" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_nUMODO" field="NUMODO" alias="NUMODO" type="System.Byte" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_cOPE" field="COPE" alias="COPE" type="System.String" nullValue="" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_iDTDIA" field="IDTDIA" alias="IDTDIA" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_dEPROG" field="DEPROG" alias="DEPROG" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEINI" field="FEINI" alias="FEINI" type="System.DateTime" nullValue="01/01/0001 0:00:00" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEFIN" field="FEFIN" alias="FEFIN" type="System.DateTime" nullValue="01/01/0001 0:00:00" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEAUTORIZ" field="FEAUTORIZ" alias="FEAUTORIZ" type="System.DateTime" nullValue="01/01/0001 0:00:00" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEALTA" field="FEALTA" alias="FEALTA" type="System.DateTime" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_oBSERVA" field="OBSERVA" alias="OBSERVA" type="System.String" nullValue="" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="ManyToOne" member="_tPERIODOObject" field="IDTDIA" alias="TPERIODOObject" type="GTrafico.Data.TPERIODO" lazyLoad="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="OneToMany" member="_tITINERARIOList" field="IDPROG,NUMODO" alias="TITINERARIOList" type="GTrafico.Data.TITINERARIO" lazyLoad="true" cascadeDelete="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="OneToMany" member="_tPLANIFICACIONList" &lt;STRONG&gt;field="IDPROG,NUMODO"&lt;/STRONG&gt; alias="TPLANIFICACIONList" type="GTrafico.Data.TPLANIFICACION" lazyLoad="true" cascadeDelete="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/entity&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and the same with mapping for TITINERARIO.&lt;/P&gt;
&lt;P&gt;We are using Welter templates 3.1 and I think this it is a bug. It generates one relation for each foreing key, without looking if thoose foreing keys are composite.&lt;/P&gt;
&lt;P&gt;I also have to delete the additional IList from each class&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Private&lt;/FONT&gt;&lt;FONT size=2&gt; _tITINERARIOList2 &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;FONT size=2&gt; IList&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Ok, I have undesrtand the problem.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Thanks Wilson. A great tool.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;PD:I hope you see this post before wasting your time answering&amp;nbsp;the previous one :-S&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Issue with large numbes of database connections.</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2240&amp;key=Y0tRfyJIjKyOe%2fwcK5rCDw%3d%3d&amp;post=7455</link><pubDate>Mon, 26 Mar 2007 19:16:15 GMT</pubDate><description>&lt;P&gt;Any word on this? &amp;lt;BUMP&amp;gt;&lt;/P&gt;</description></item><item><title>Issue with large numbes of database connections.</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2240&amp;key=Y0tRfyJIjKyOe%2fwcK5rCDw%3d%3d&amp;post=7534</link><pubDate>Mon, 26 Mar 2007 19:15:52 GMT</pubDate><description>Oops, wrong link -- try &lt;A href="/Forums/Default.aspx?part=74&amp;amp;action=thread&amp;amp;id=2450&amp;amp;key=IaC12zYu0ykFv3qP9v11Tg%3d%3d"&gt;this one&lt;/A&gt; instead.</description></item><item><title>Issue with large numbes of database connections.</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2240&amp;key=Y0tRfyJIjKyOe%2fwcK5rCDw%3d%3d&amp;post=7533</link><pubDate>Mon, 26 Mar 2007 19:12:08 GMT</pubDate><description>See &lt;A href="/Forums/Default.aspx?part=74&amp;amp;action=moderate&amp;amp;id=1&amp;amp;key=0Q%2fB3gw7vmQikNVSFeAJ9Q%3d%3d"&gt;this thread&lt;/A&gt;.</description></item><item><title>Error during rollback/Zombie message</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2450&amp;key=IaC12zYu0ykFv3qP9v11Tg%3d%3d&amp;post=7483</link><pubDate>Mon, 26 Mar 2007 19:11:06 GMT</pubDate><description>&lt;P&gt;We&amp;nbsp;encountered the same random Zombie.&amp;nbsp; A few months ago, we opened a support incident with Microsoft.&amp;nbsp; After many (many...many...many...) hours of troubleshooting, researching, escalating, and finger pointing, Microsoft finally conceded that this is a bug with ADO.Net.&amp;nbsp; In specific, it's a bug with the SqlTransaction object.&amp;nbsp; It will be fixed in a "future version" of ADO.Net, but a hotfix will not be issued since this is an "obscure scenario with a simple workaround."&lt;/P&gt;
&lt;P&gt;I won't bore you with details, just a fix.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Don't use the SqlTransaction's Connection property.&lt;/P&gt;
&lt;P&gt;Check the source code for the ORMapper and you'll find that Internals.Connection.GetTransaction connects to the database, begins a transaction&amp;nbsp;and returns the IDbTransaction.&amp;nbsp; The calling method (the Transaction constructor) then assigns an internal reference to the IDbTransaction's Connection property.&amp;nbsp; What we found was that every once in a while, the IDbTransaction's Connection was NULL!!!!&amp;nbsp; This ended up to be the root of the Zombie issue, which manifested itself later when we called PersistChanges.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The reason the Connection was NULL is really quite odd.&amp;nbsp; In ADO.Net 2.0, the SqlTransaction was modified so that it has two references to the SqlConnection used to create it.&amp;nbsp; The first is the publicly exposed Connection property.&amp;nbsp; The second in a private connection property.&amp;nbsp; The private connection has a weak reference to the public connection.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Since the SqlConnection is created inside Internals.Connection.GetTransaction, it goes out of scope when the IDbTransaction is returned to the Transaction's constructor.&amp;nbsp; At that point, the Connection is eligible for Garbage Collection.&amp;nbsp; Every once in a while, the GC collects the Connection object between the point the Transaction is created and the point you PersistChanges.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;We fixed this using the following code:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;1)&lt;FONT face="Times New Roman" size=1&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Modify the constructor of the Transaction class:&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;&lt;SPAN style="COLOR: blue"&gt;internal&lt;/SPAN&gt;&lt;/FONT&gt; Transaction(Context context, IsolationLevel isolationLevel) {&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;&lt;/FONT&gt;.context = context;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=green&gt;&lt;SPAN style="COLOR: green"&gt;//in .NET 2.0 is to keep a reference to the outer connection of the transaction&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=green&gt;&lt;SPAN style="COLOR: green"&gt;//&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=green&gt;&lt;SPAN style="COLOR: green"&gt;//OLD CODE&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=green&gt;&lt;SPAN style="COLOR: green"&gt;//this.transaction = this.context.Connection.GetTransaction(isolationLevel);&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=green&gt;&lt;SPAN style="COLOR: green"&gt;//this.connection = this.transaction.Connection;&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=green&gt;&lt;SPAN style="COLOR: green"&gt;//&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=green&gt;&lt;SPAN style="COLOR: green"&gt;//NEW CODE&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;&lt;/FONT&gt;.connection = &lt;FONT color=blue&gt;&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;&lt;/FONT&gt;.context.Connection.GetConnection();&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;&lt;FONT color=#000000&gt;.transaction = &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;&lt;FONT color=blue&gt;this&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;.connection.BeginTransaction( isolationLevel );&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#000000&gt;&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.context.Connection.InterceptCommand(&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.id, &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;, CommandInfo.BeginTran, &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;);&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;2)&lt;FONT face="Times New Roman" size=1&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Modify the Internals.Connection class&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;a.&lt;FONT face="Times New Roman" size=1&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Remove the GetTransaction( String isolationLevel ) as it will no longer be referenced&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-LEFT: 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;b.&lt;FONT face="Times New Roman" size=1&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Add new method GetConnection() which will return a connection to the database:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=green&gt;&lt;SPAN style="COLOR: green"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;&lt;SPAN style="COLOR: blue"&gt;internal&lt;/SPAN&gt;&lt;/FONT&gt; IDbConnection GetConnection()&amp;nbsp;&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IDbConnection connection = ProviderFactory.GetConnection(&lt;FONT color=blue&gt;&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;&lt;/FONT&gt;.connection, &lt;FONT color=blue&gt;&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;&lt;/FONT&gt;.provider);&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.Open();&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=blue&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;&lt;/FONT&gt; connection;&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Happy Hairpulling,&lt;/P&gt;
&lt;P&gt;Rob&lt;/P&gt;</description></item><item><title>ORM error transaction has completed</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2494&amp;key=4vj3vPV8s0iQ3MOhKowOig%3d%3d&amp;post=7532</link><pubDate>Mon, 26 Mar 2007 19:09:45 GMT</pubDate><description>&lt;P&gt;Yes and no.&amp;nbsp; There is some code that tries to account for an esoteric error that's internal to ADO.NET and which typically only occurs in high volume situations.&amp;nbsp; But it seems that while I reduced the frequency of this issue for some, others have occasionally continued to run into this.&amp;nbsp; My only repros of this occurred without the mapper involved also, which is how I determined it was an internal ADO.NET error, and some customers I worked with concluded the same thing.&amp;nbsp; But since it has since raised its head again, and some have now said that this does not occur without the mapper, I can no longer make a promise that its fixed in every case.&amp;nbsp; But it is fixed for every case that I have been able to repro, and I have not seen this occur in my own applications.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>ORM error transaction has completed</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2494&amp;key=4vj3vPV8s0iQ3MOhKowOig%3d%3d&amp;post=7504</link><pubDate>Mon, 26 Mar 2007 19:04:46 GMT</pubDate><description>&lt;P&gt;We are currently at the 3.0 version of the ORM tool. Is there a fix in later versions that might eliminate the following error that we get on occasion?&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;2007-&lt;B&gt;03-08 10:27:41,460 &lt;/B&gt;[4616] ERROR log4net.Appender.FileAppender [] &amp;lt;&amp;gt; - This SqlTransaction has completed; it is no longer usable.&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;</description></item><item><title>The passed arrays are different lengths</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2260&amp;key=zbhhUOBbB95zglj6T7lUYw%3d%3d&amp;post=7531</link><pubDate>Mon, 26 Mar 2007 19:04:31 GMT</pubDate><description>&lt;P&gt;Your &lt;FONT size=2&gt;TASIGNACION object has relationships with your TCONCESION object, and since the TCONCESION object has a composite key with 2 fields then those relationships must also be mapped with the field element representing that same composite relationship.&amp;nbsp; Similarly with the reverse relationships -- basically once its composite everything has to be setup the same way that relates to it.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Thanks, Paul Wilson&lt;/FONT&gt;&lt;/P&gt;</description></item><item><title>The passed arrays are different lengths</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2260&amp;key=zbhhUOBbB95zglj6T7lUYw%3d%3d&amp;post=7513</link><pubDate>Mon, 26 Mar 2007 19:00:35 GMT</pubDate><description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I have bought WilsonOR and I am in the same situation.&lt;/P&gt;
&lt;P&gt;I have 2 involucred tables. TASIGNACION and TCONCESION&lt;/P&gt;
&lt;P&gt;&lt;U&gt;TCONCESION&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;IDCONCE (PK)&lt;/P&gt;
&lt;P&gt;NSEMPRE (PK)&lt;/P&gt;
&lt;P&gt;ETC....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;TASIGNACION&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;NSLINEA (PK)&lt;/P&gt;
&lt;P&gt;FEINI (PK)&lt;/P&gt;
&lt;P&gt;IDCONCE (PK)&lt;/P&gt;
&lt;P&gt;NSEMPRE&lt;/P&gt;
&lt;P&gt;ETC.....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My mapping is like follows&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;lt;entity type="GTrafico.Data.TASIGNACION" table="TASIGNACION" keyMember="_nSLINEA,_fEINI,_iDCONCE" keyType="Composite" changesOnly="true"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_nSLINEA" field="NSLINEA" alias="NSLINEA" type="System.Int32" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEINI" field="FEINI" alias="FEINI" type="System.DateTime" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_iDCONCE" field="IDCONCE" alias="IDCONCE" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_nSEMPRE" field="NSEMPRE" alias="NSEMPRE" type="System.String" nullValue="" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEFIN" field="FEFIN" alias="FEFIN" type="System.DateTime" nullValue="01/01/0001 0:00:00" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEALTA" field="FEALTA" alias="FEALTA" type="System.DateTime" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="ManyToOne" member="_tLINEAObject" field="NSLINEA" alias="TLINEAObject" type="GTrafico.Data.TLINEA" lazyLoad="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="ManyToOne" member="_tCONCESIONObject" field="IDCONCE" alias="TCONCESIONObject" type="GTrafico.Data.TCONCESION" lazyLoad="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="ManyToOne" member="_tCONCESIONObject2" field="NSEMPRE" alias="TCONCESIONObject2" type="GTrafico.Data.TCONCESION" lazyLoad="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/entity&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;lt;entity type="GTrafico.Data.TCONCESION" table="TCONCESION" keyMember="_iDCONCE,_nSEMPRE" keyType="Composite" changesOnly="true"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_iDCONCE" field="IDCONCE" alias="IDCONCE" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_nSEMPRE" field="NSEMPRE" alias="NSEMPRE" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_dECONCE" field="DECONCE" alias="DECONCE" type="System.String" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEINI" field="FEINI" alias="FEINI" type="System.DateTime" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_oBSERVA" field="OBSERVA" alias="OBSERVA" type="System.String" nullValue="" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEFIN" field="FEFIN" alias="FEFIN" type="System.DateTime" nullValue="01/01/0001 0:00:00" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;attribute member="_fEALTA" field="FEALTA" alias="FEALTA" type="System.DateTime" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="ManyToOne" member="_tOPERADORTObject" field="NSEMPRE" alias="TOPERADORTObject" type="GTrafico.Data.TOPERADORT" lazyLoad="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="OneToMany" member="_tASIGNACIONList" field="IDCONCE" alias="TASIGNACIONList" type="GTrafico.Data.TASIGNACION" lazyLoad="true" cascadeDelete="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;relation relationship="OneToMany" member="_tASIGNACIONList2" field="NSEMPRE" alias="TASIGNACIONList2" type="GTrafico.Data.TASIGNACION" lazyLoad="true" cascadeDelete="true" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/entity&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;And the code that fails&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;Dim&lt;/FONT&gt;&lt;FONT size=2&gt; keys(1) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Object&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;keys(0) = original_IDCONCE&lt;/P&gt;
&lt;P&gt;keys(1) = original_NSEMPRE&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;U&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff size=2&gt;Dim&lt;/FONT&gt;&lt;FONT size=2&gt; concesion &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; TCONCESION = [Global].Manager.GetObject(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;GetType&lt;/FONT&gt;&lt;FONT size=2&gt;(TCONCESION), keys)&lt;/P&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/U&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;&amp;nbsp;&amp;nbsp;Message&amp;nbsp;"The passed arrays are different lengths.&amp;nbsp; This may indicate a problem with the mapping for entity 'GTrafico.Data.TASIGNACION'."&amp;nbsp;String&lt;BR&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;any suggestions?&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;</description></item><item><title>long-running apps</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2478&amp;key=s7FtEsTxYlodssCzv3L71Q%3d%3d&amp;post=7473</link><pubDate>Tue, 20 Feb 2007 16:57:40 GMT</pubDate><description>I have a long-running application, a Service really, and currently the architecture is a little funny.

One thread is started by the service.  it checks some config settings in my db, and then starts up N worker threads based on that config data.  Those N Worker threads then each look at a schedule.  Generally schedules are set to fire once a day at a specific time.  the worker threads then put themselves to sleep until that time will happen.  so if it's 4pm they go to sleep until perhaps 9am the next morning.  Then when they wakeup they do some work, and go back to sleep for 24 hours.  When this happens the entire app might be dormant for those 24 hours, because most of the threads do their work in the mornings.

My first error happened when I tried to save changes to an object I had created 16 to 24 hours before.  I fixed this problem by using the key value of the object that i had created, and using the Mapper to create a new instance, then making the change to that instance and saving that one, and not working with the "stale" instance of the object.

Well, now I'm getting a much more difficult error.  I'm seeing the errors reported in &lt;a href="/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2259&amp;key=q1k1KnVmCWpCO9DosuC7kQ%3d%3d"&gt;this&lt;/a&gt; thread.  But the problem is that it is definately not 1 out of every 100000 calls.  I make maybe 10 to 20 "save" calls a day, and this is happening every day.  Of course it happens from a different spot in the code every time, just somewhere that I'm using the ORMapper to persist some changes, and the really tough thing is that even though I am calling the code on a worker thread, which has a try catch block around its starting call, when the error is thrown, it causes all threads, the starting thread and all created worker threads, to abort.

Could my architecture have anything to do with it?  is there some shared objects that are crashing all my threads?</description></item><item><title>Nullable Date Error</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2475&amp;key=4TiDd1o3nByvCtTyoY%2b5IA%3d%3d&amp;post=7471</link><pubDate>Mon, 19 Feb 2007 21:13:26 GMT</pubDate><description>Do you have any other ideas on this Paul?&amp;nbsp; We're currently having to recode large portions of a project due to this error, any help would be appreciated.&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;&lt;br&gt;Adam&lt;br&gt;</description></item><item><title>Nullable Date Error</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2475&amp;key=4TiDd1o3nByvCtTyoY%2b5IA%3d%3d&amp;post=7469</link><pubDate>Thu, 15 Feb 2007 15:38:39 GMT</pubDate><description>Thanks for your reply Paul.&lt;br&gt;&lt;br&gt;I don't have any nullValue="" settings in my mappings.config, a sample date attribute would be -&lt;br&gt;&lt;br&gt;&amp;lt;attribute member="_invoicesent" field="invoice_sent" alias="Invoicesent" /&amp;gt;&lt;br&gt;&lt;br&gt;Which is basically the same as it is in the working project I have.&lt;br&gt;</description></item><item><title>Nullable Date Error</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2475&amp;key=4TiDd1o3nByvCtTyoY%2b5IA%3d%3d&amp;post=7468</link><pubDate>Thu, 15 Feb 2007 14:48:25 GMT</pubDate><description>&lt;P&gt;Make sure you remove any nullValue="..." setting you have for these fields in your mapping file.&amp;nbsp; That was the non-generic, pre-.net 2.0, way to handle nulls, using "magic" numbers, and if its there in your mapping file then&amp;nbsp;it means the mapper will still try that technique, which will break your nullable types.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>Nullable Date Error</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2475&amp;key=4TiDd1o3nByvCtTyoY%2b5IA%3d%3d&amp;post=7467</link><pubDate>Wed, 14 Feb 2007 22:54:10 GMT</pubDate><description>&lt;font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "&gt;I have several datetime database fields which accept nulls, I have changed these members to nullable (of date) in the appropriate class but get this error whenever I retrieve a record that contains a date:&lt;br&gt;&lt;pre&gt;[InvalidCastException: Invalid cast from 'System.DateTime' to 'System.Nullable`1[[System.DateTime, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'.]&lt;br&gt;   System.Convert.DefaultToType(IConvertible value, Type targetType, IFormatProvider provider) +864&lt;br&gt;   System.DateTime.System.IConvertible.ToType(Type type, IFormatProvider provider) +36&lt;br&gt;   System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) +433&lt;br&gt;   Wilson.ORMapper.QueryHelper.ChangeType(Object value, Type type) +334&lt;br&gt;   Wilson.ORMapper.Internals.Instance.SetField(EntityMap entityMap, Object entityObject, String member, Object value, CustomProvider provider) +49&lt;br&gt;   Wilson.ORMapper.Internals.Instance.SetObject(IDataRecord data) +316&lt;br&gt;   Wilson.ORMapper.ObjectReader.Read() +251&lt;br&gt;   Wilson.ORMapper.Internals.Context.GetObject(Type objectType, Object objectKey, Boolean firstLevel) +268&lt;br&gt;   Wilson.ORMapper.ObjectSpace.GetObject(Type objectType, Object objectKey) +66&lt;br&gt;   admin_test.Page_Load(Object sender, EventArgs e) +54&lt;br&gt;   System.Web.UI.Control.OnLoad(EventArgs e) +80&lt;br&gt;   System.Web.UI.Control.LoadRecursive() +49&lt;br&gt;   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3743&lt;/pre&gt;&lt;br&gt;I've tried everything I can think of but am unable to get this to work.  Strangely, I have another project using WORM with datetime fields which I handle in exactly the same way and that one works fine.&lt;br&gt;&lt;br&gt;Any ideas?&lt;br&gt;&lt;/font&gt;</description></item><item><title>keyType="Auto" for string</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2445&amp;key=OshYFUiGzPRaOiNKxEAj7Q%3d%3d&amp;post=7441</link><pubDate>Fri, 02 Feb 2007 22:17:08 GMT</pubDate><description>&lt;P&gt;I'm not really intentionally trying to support any Auto type beyond ints, but there is some code there that others have supplied to try to achieve something beyond ints.&amp;nbsp; I'm not real sure exactly what those cases are, although I would think maybe database-created Guids might be one of those cases, but I'm just guessing.&lt;/P&gt;
&lt;P&gt;As for the decimal stuff you're seeing, that should only occur in the Oracle path, and its a requirement for Oracle since Oracle doesn't have any native int concept, so I have to convert decimals to ints.&amp;nbsp; There may be a way to change the Oracle code-path to work with strings also, but again its not something I've ever worked with.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>keyType="Auto" for string</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2445&amp;key=OshYFUiGzPRaOiNKxEAj7Q%3d%3d&amp;post=7403</link><pubDate>Fri, 02 Feb 2007 22:12:35 GMT</pubDate><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Hi,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;I am running 4.2.2.0 and having a problem with an keyType=”Auto” if the key is a string.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I see that it is supported in EntityKey.cs line 148… but then there is an error when the INSERT runs because line 300 in Connection.cs assumes a Decimal return value.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I haven’t downloaded 4.2.2.1, but the notes don’t say anything about this issue.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Am I doing something wrong?&amp;nbsp; I have seen a few posts where people were using a string key, but its not clear that they got it to work?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;</description></item><item><title>IObjectNotification event not firing</title><link>http://www.ormapper.net/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2458&amp;key=zblDhePRGTYio3mH3wMmmQ%3d%3d&amp;post=7440</link><pubDate>Fri, 02 Feb 2007 22:11:30 GMT</pubDate><description>&lt;P&gt;Hmmm, I can't think of any reason why OnDeleting would not be working for basic cases -- you'll need to send me something to reproduce it, and then realize I'm running very short on time lately.&amp;nbsp; As for ExecuteDelete, all of the Execute methods are intentionally designed to be "batch" sql operations, so they do not work on individual objects, which means there are no events that I can expose.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item></channel></rss>