<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Wilson ORMapper Forums</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=rss&amp;id=0&amp;key=%2fZ0k%2fvhZdZ6X%2fHfVsdCa4Q%3d%3d</link><description>Wilson ORMapper Forums</description><item><title>ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2617&amp;key=ty8lOgxdqFlgjrSD4tcC6w%3d%3d&amp;post=7797</link><pubDate>Tue, 20 May 2008 16:55:40 GMT</pubDate><description>My contributions have stopped, and it is now open source.&amp;nbsp; I don't think there has been much activity there recently either, but I could be wrong.&amp;nbsp; The biggest problem is that the ORMapper is very much feature rich and stable, so there stopped being significant reasons to invest more time in it, especially given the new MS Linq-based O/RMs.&lt;br&gt;</description></item><item><title>ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2617&amp;key=ty8lOgxdqFlgjrSD4tcC6w%3d%3d&amp;post=7796</link><pubDate>Tue, 20 May 2008 13:59:23 GMT</pubDate><description>Is the ORMapper project still going, either here or on Google?&lt;br&gt;</description></item><item><title>Null reference to list in many to many relationship</title><link>http://wilsonormapper.com/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://wilsonormapper.com/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>varchar(8000)</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2322&amp;key=UfcIKHDcpqArzg0auLf49w%3d%3d&amp;post=7788</link><pubDate>Tue, 18 Mar 2008 15:38:24 GMT</pubDate><description>I ran into the same problem. I think this is related to the following issue:&lt;br&gt;&lt;a href="http://support.microsoft.com/kb/928965"&gt;You may receive an error message when you try to populate a SQL Server 2000 table with a Data Generation plan in Visual Studio 2005 Team Edition for Database Professionals: "System.Data.SqlClient.SqlError: Disallowed implicit conversion from data type nte&lt;/a&gt;&lt;br&gt;&lt;br&gt;Note: I find it ironic that the title of this KB article is truncated on Microsoft's site, probably for being too long. :)&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;Tim&lt;br&gt;&lt;br&gt;</description></item><item><title>Fetching a mapped object inside a transaction?</title><link>http://wilsonormapper.com/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>Simple web example?</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2605&amp;key=7zwioWTqcHRgsRHTFkQNvQ%3d%3d&amp;post=7776</link><pubDate>Thu, 20 Dec 2007 02:44:03 GMT</pubDate><description>&lt;P&gt;Hi all, looking for a simple web example that might get me going in the right direction.&amp;nbsp; The WebPortal is a little out of my league.&amp;nbsp; Just looking to see how to best initialize the manager and get back a list of objects and display in a grid on a web page.&lt;/P&gt;
&lt;P&gt;Thanks for you patience&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>How to abort a long running query?</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2602&amp;key=Pw94i0sYrxDX5TpazbwvEA%3d%3d&amp;post=7772</link><pubDate>Tue, 11 Dec 2007 14:26:41 GMT</pubDate><description>&lt;P&gt;I'm developing a WinForms application that uses the OR mapper against an Oracle db. I have a query that could potentially return millions of rows, so I want to provide a way for the user to cancel the query if it´s taking too long.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm calling the Objectspace.GetCollection() method on a separate thread, and all I can think of is to abort that thread and return control to the user, leaving the query running in the database until it completes.&lt;/P&gt;
&lt;P&gt;Is there any better way to do it?&lt;/P&gt;</description></item><item><title>RetrievePage and WhereClause problem</title><link>http://wilsonormapper.com/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://wilsonormapper.com/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://wilsonormapper.com/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://wilsonormapper.com/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>Indexing best practices</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2596&amp;key=LZ36H4T%2fjO2AzgiyOY7KBw%3d%3d&amp;post=7761</link><pubDate>Thu, 08 Nov 2007 22:14:08 GMT</pubDate><description>&lt;P&gt;Hi Kel:&lt;/P&gt;
&lt;P&gt;The same guidelines as usual apply.&amp;nbsp; An O/RM doesn't change anything, it just automates it.&amp;nbsp; On your own manually you would still specify filters, sorts, and pages and load objects.&lt;/P&gt;
&lt;P&gt;Profiling and index wizards can help a lot of course.&amp;nbsp; But you should also "know" your data and the usage that the UI allows.&amp;nbsp; Some fields are obvious filter / sort choices, and so you may (but maybe not depending on the other factors too) want to index those.&amp;nbsp; The other fields that you do not index may be something that you don't even want to allow the user to filter / sort upon in the UI (but that's really a business decision so there's no hard rule).&lt;/P&gt;
&lt;P&gt;The nice thing about O/RMs is that they enforce consistency in your generated sql, so you can often better optimize things, assuming that you do the proper profiling and planning.&amp;nbsp; But the work is still yours just as it would have been -- O/RMs just make the coding easier and more consistent, they don't remove the need for a DBA or other design aspects.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>Returning all object that not in a ManyToMany relationship</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2578&amp;key=eQp3q7WjLN65SFeAnyeOGw%3d%3d&amp;post=7759</link><pubDate>Thu, 08 Nov 2007 22:07:44 GMT</pubDate><description>When I use a query similar to the following:&lt;br&gt;&lt;br&gt;OPath&amp;lt;User&amp;gt;("!Group[1==1]")&lt;br&gt;&lt;br&gt;I get an exception saying that the not operator is only valid for boolean types.&amp;nbsp; Any idea what I might be doing wrong here or if there is a simple fix?&lt;br&gt;&lt;br&gt;Thanks!&lt;br&gt;</description></item><item><title>Indexing best practices</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2596&amp;key=LZ36H4T%2fjO2AzgiyOY7KBw%3d%3d&amp;post=7760</link><pubDate>Thu, 08 Nov 2007 19:07:27 GMT</pubDate><description>&lt;P&gt;Given how ORM tools work in the sense of filling up an entire object with its data, even when lists of objects are retrieve, are there any best practices on how to index tables in the database to support this functionality?&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;
&lt;P&gt;Kel&lt;/P&gt;</description></item><item><title>Open Source Wilson ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2580&amp;key=wyjyckxZYAKD9WiUMF8c4Q%3d%3d&amp;post=7758</link><pubDate>Tue, 30 Oct 2007 11:30:49 GMT</pubDate><description>&lt;P&gt;Jason -- you are more than welcome to do those things directly on the Google Code site. All you need to do is provide me your Google login name and I'll make you a project member.&lt;/P&gt;
&lt;P&gt;I also think the Google project should include WORM-related items such as the many CodeSmith templates (yours included). Having all this in one place will only make it easier for people to find useful tools to help in adopting the O/R mapper.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;- b&lt;/P&gt;</description></item><item><title>Open Source Wilson ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2580&amp;key=wyjyckxZYAKD9WiUMF8c4Q%3d%3d&amp;post=7756</link><pubDate>Mon, 29 Oct 2007 20:46:53 GMT</pubDate><description>Well, there may be code in the subversion repository, but that is not the same as having downloads. &lt;br&gt;&lt;br&gt;If you go to http://code.google.com/p/wilsonormapper/downloads/list, there is nothing there and I personally feel one shouldn't have to have Subversion installed to get at the code.&lt;br&gt;&lt;br&gt;I would also like to see it have its own Google Group - I know you (Brian) have something called WilsonORWrapper or something like that, but I think that should be kept completely separate, since it has nothing directly to do with WORM. &lt;br&gt;&lt;br&gt;Would also love to know what is going to be done to sort through feature requests, assign priority to them, etc. Managing a project like this isn't as easy as simply giving some people the right to check in code, there need to be plans and goals and rules, etc. &lt;br&gt;&lt;br&gt;Also, I think the thing that is desperately needed before anyone modifies any code is a huge set of unit tests that will ensure any future changes or bug fixes don't break currently-understood and expected behavior. That to me should be the first thing done before any code is modified (including any bugs fixed!). &lt;br&gt;&lt;br&gt;- Jason Bunting&lt;br&gt;&amp;nbsp;</description></item><item><title>Open Source Wilson ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2580&amp;key=wyjyckxZYAKD9WiUMF8c4Q%3d%3d&amp;post=7755</link><pubDate>Mon, 29 Oct 2007 20:10:19 GMT</pubDate><description>Wrong!!! ;-) &lt;br&gt;&lt;br&gt;I contacted you about a fix, and YOU fixed it!&amp;nbsp; Only because I didnt dare...&lt;br&gt;&lt;br&gt;Anyway, thanx for all the hard work Brian setting up the repository and of course for your time saving work on WORW.&lt;br&gt;</description></item><item><title>Open Source Wilson ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2580&amp;key=wyjyckxZYAKD9WiUMF8c4Q%3d%3d&amp;post=7754</link><pubDate>Mon, 29 Oct 2007 19:06:47 GMT</pubDate><description>&lt;P&gt;The Google Code project has all the source code for the 4.2.2.0 release&amp;nbsp;(or whatever release was pre-Subscriber Release), with some small changes (mostly cosmetic) in the SVN repo. The pre-VS2005 project files aren't there because I don't have VS2003 on my workstation any more.&lt;/P&gt;
&lt;P&gt;The project is there and waiting for anyone who wants to contribute to it or submit patches to it. So far, not a single person has done so much as contact me about it. If you want to have direct check-in access to the repo, let me know.&lt;/P&gt;</description></item><item><title>Open Source Wilson ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2580&amp;key=wyjyckxZYAKD9WiUMF8c4Q%3d%3d&amp;post=7753</link><pubDate>Fri, 26 Oct 2007 06:18:32 GMT</pubDate><description>...continuing...&lt;br&gt;&lt;br&gt;Also, what about Jeff Lanning's involvement? I love OPath and I know he was planning on adding features to it in the past, but I also know he 'lost that loving feeling' after a while and seems to have moved on as well. Would love to see him finish up some of the original OPath features and add a few others.&lt;br&gt;&lt;br&gt;&amp;nbsp;- Jason Bunting&lt;br&gt;&lt;br&gt;</description></item><item><title>Open Source Wilson ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2580&amp;key=wyjyckxZYAKD9WiUMF8c4Q%3d%3d&amp;post=7752</link><pubDate>Fri, 26 Oct 2007 06:14:56 GMT</pubDate><description>To be technical about it, WORM was already open-source for those that had paid. &lt;br&gt;&lt;br&gt;;)&lt;br&gt;&lt;br&gt;I love the idea and understand all of your reasons and think it wise to do this. I know that WORM (coupled with my CodeSmith templates) has saved my clients and I tons of hours and made development enjoyable again. &lt;br&gt;&lt;br&gt;Now, that said - I have a question: will the version you include in your downloads reflect the latest licensing?&lt;br&gt;&lt;br&gt;Also, it appears as though Brian has forgotten about this, the Google site he set up doesn't appear to be very active or have anything available for download, and we are coming up on two months since your announcement.&lt;br&gt;&lt;br&gt;Might be a good idea, once that group *does* start up, to lock these forums down to prevent further posting, so as to help there be "one place" to find information.&lt;br&gt;&lt;br&gt;Anyway, thanks for the years of help on this product, I know it was a significant factor in many of my projects, personal and professional.&lt;br&gt;&lt;br&gt;</description></item><item><title>Parent child relationship</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2593&amp;key=Pb1fDWdtJJEt1YfJ34jmvQ%3d%3d&amp;post=7749</link><pubDate>Thu, 18 Oct 2007 13:40:21 GMT</pubDate><description>&lt;P&gt;My app has categories with subcategories.&amp;nbsp; So from any category I want to be able to traverse its parent category, and its parent category, all the way back up to the master category.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The category database table is setup as Id, Name, ParentId.&amp;nbsp; The related Category class has a Parent class of the same type.&amp;nbsp; In the mapping file, Parent is setup as a ManyToOne relationship with lazyLoad set to false.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;This works, but only up to three levels deep.&amp;nbsp; After three levels the Parent field is no longer loaded, even though the master category has not been loaded.&amp;nbsp; I imagine this is a designed feature to prevent the object graph from becoming too big.&amp;nbsp; Is there a way I can tell the mapper that I want it to load &lt;EM&gt;all&lt;/EM&gt; levels, or at least specify the maximum?&lt;/P&gt;
&lt;P&gt;Jordan&lt;/P&gt;</description></item><item><title>More than one connection</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2592&amp;key=32KXp5cRS0R24z0ZcfdO9Q%3d%3d&amp;post=7748</link><pubDate>Wed, 17 Oct 2007 21:59:40 GMT</pubDate><description>&lt;P&gt;I can't think of&amp;nbsp;anything built-in&amp;nbsp;that would&amp;nbsp;handle&amp;nbsp;that scenario.&lt;/P&gt;
&lt;P&gt;Sorry, Paul Wilson&lt;/P&gt;</description></item><item><title>More than one connection</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2592&amp;key=32KXp5cRS0R24z0ZcfdO9Q%3d%3d&amp;post=7747</link><pubDate>Tue, 16 Oct 2007 15:39:20 GMT</pubDate><description>&lt;P&gt;Hi Paul,&lt;/P&gt;
&lt;P&gt;Is there any way to have 2 or more connections pointing to differents databases using the same Template?&lt;/P&gt;
&lt;P&gt;I mean, now I have one datamanager class with one objectspace object, and all the Mapped classes points to this objectspace. What I have to do for having more than one objectspace?&lt;/P&gt;
&lt;P&gt;For example, to read values from database A&amp;nbsp;and write in other database B, being A and B the same E/R, and so using the same mapping.&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;</description></item><item><title>Strong Typed Queries</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2588&amp;key=%2bsJP8mFXW9IuppNTX0BGzg%3d%3d&amp;post=7743</link><pubDate>Fri, 28 Sep 2007 00:22:52 GMT</pubDate><description>&lt;P&gt;Have you looked at the QueryHelper?&amp;nbsp; Its admittedly not as nice as you would like, but its got that far off if you don't mind putting the class.property into a string.&amp;nbsp; Once you do that it will translate the class.property to the proper table.field with the correct delimiters for your database.&amp;nbsp; There are also some overrides to handle operations&amp;nbsp;using an enum, instead of just&amp;nbsp;assuming equality, so again its not that far off.&amp;nbsp; That's not to say it couldn't be better if you could avoid the string completely, but that does require some type of code gen, although that may actually be something that could be automated in asp.net with its build providers.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>Strong Typed Queries</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2588&amp;key=%2bsJP8mFXW9IuppNTX0BGzg%3d%3d&amp;post=7742</link><pubDate>Thu, 27 Sep 2007 16:48:15 GMT</pubDate><description>&lt;P&gt;First you'd need some kind of code generation, like NHibernate Query Generator, to generate the relevant classes and query logic. If you could reverse engineer that code to work with WORM, it would be quite the useful utility. :)&lt;/P&gt;</description></item><item><title>Strong Typed Queries</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2588&amp;key=%2bsJP8mFXW9IuppNTX0BGzg%3d%3d&amp;post=7741</link><pubDate>Wed, 26 Sep 2007 19:14:04 GMT</pubDate><description>&amp;nbsp;&amp;nbsp;&amp;nbsp; How does everyone handle queries?&amp;nbsp; Are you all typing out your WHERE clauses via a string?&amp;nbsp; There has to be a better way.&amp;nbsp; OPathQuerys help, but I just think they are not there yet.&amp;nbsp; It would be nice if there was a Query mechinism similar to SubSonic's Query object.&amp;nbsp; SubSonic generates structs for all your domain types so you could write a query in a strong manor, but they use "tables" and "columns", I think I would want it related to the objects themselves instead of the underlying database tables and columns.&amp;nbsp; Something like this for example:&lt;br&gt;&lt;br&gt;Products being the generated struct.&lt;br&gt;&lt;br&gt;&lt;font face="Courier New" size="2"&gt;Query query = new Query(typeof(Product));&lt;br&gt;query.AddWhere(Products.ProductType,QueryType.Like,ProductTypes.BathSoap);&lt;br&gt;query.AddWhere(Products.Order.OrderDate,QueryType.GreaterThen,DateTime.Now);&lt;br&gt;&lt;br&gt;&lt;/font&gt;...etc&lt;br&gt;&lt;br&gt;Or maybe LINQ will make this a mute point?&lt;br&gt;</description></item><item><title>How to: convert OPath queries to database independent sqls</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2585&amp;key=A7wZdIPNJfaYKKhVHJ%2fjOg%3d%3d&amp;post=7738</link><pubDate>Fri, 14 Sep 2007 20:50:52 GMT</pubDate><description>&lt;P&gt;I have a few questions about convert OPath expressions to database independent sqls.&lt;/P&gt;
&lt;P&gt;Say you have the following sql:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;select field from table where fieldtwo='Value'&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;I think the code would be somewhat like the following:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt; &lt;FONT color=#010001&gt;helper&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;As&lt;/FONT&gt; &lt;FONT color=#010001&gt;QueryHelper&lt;/FONT&gt; = &lt;FONT color=#010001&gt;orEngine&lt;/FONT&gt;.&lt;FONT color=#010001&gt;QueryHelper&lt;/FONT&gt;()&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt; &lt;FONT color=#010001&gt;sql&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;As&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;String&lt;/FONT&gt; = &lt;FONT color=#0000ff&gt;String&lt;/FONT&gt;.&lt;FONT color=#010001&gt;Format&lt;/FONT&gt;(&lt;FONT color=#a31515&gt;"select {0} from {1} where {2}"&lt;/FONT&gt;, &lt;FONT color=#010001&gt;_&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#010001&gt;helper&lt;/FONT&gt;.&lt;FONT color=#010001&gt;GetFieldName&lt;/FONT&gt;(&lt;FONT color=#a31515&gt;"table.field"&lt;/FONT&gt;), &lt;FONT color=#010001&gt;_&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#010001&gt;helper&lt;/FONT&gt;.&lt;FONT color=#010001&gt;GetTableName&lt;/FONT&gt;(&lt;FONT color=#a31515&gt;"table"&lt;/FONT&gt;), &lt;FONT color=#010001&gt;_&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#010001&gt;helper&lt;/FONT&gt;.&lt;FONT color=#010001&gt;GetExpression&lt;/FONT&gt;(&lt;FONT color=#a31515&gt;"table.fieldtwo"&lt;/FONT&gt;, &lt;FONT color=#010001&gt;record&lt;/FONT&gt;.&lt;FONT color=#010001&gt;Code&lt;/FONT&gt;))&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;what I would rather do is:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;
&lt;P dir=ltr&gt;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt; &lt;FONT color=#010001&gt;helper&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;As&lt;/FONT&gt; &lt;FONT color=#010001&gt;QueryHelper&lt;/FONT&gt; = &lt;FONT color=#010001&gt;orEngine&lt;/FONT&gt;.&lt;FONT color=#010001&gt;QueryHelper&lt;/FONT&gt;()&lt;/P&gt;
&lt;P dir=ltr&gt;dim query as new OPathQuery(of Table)(table.fieldtwo="Value")&lt;/P&gt;
&lt;P dir=ltr&gt;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt; &lt;FONT color=#010001&gt;sql&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;As&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;String&lt;/FONT&gt; = &lt;FONT color=#0000ff&gt;String&lt;/FONT&gt;.&lt;FONT color=#010001&gt;Format&lt;/FONT&gt;(&lt;FONT color=#a31515&gt;"select {0} from {1} where {2}"&lt;/FONT&gt;, &lt;FONT color=#010001&gt;_&lt;/P&gt;&lt;/FONT&gt;
&lt;P dir=ltr&gt;&lt;FONT color=#010001&gt;helper&lt;/FONT&gt;.&lt;FONT color=#010001&gt;GetFieldName&lt;/FONT&gt;(&lt;FONT color=#a31515&gt;"table.field"&lt;/FONT&gt;), &lt;FONT color=#010001&gt;_&lt;/P&gt;&lt;/FONT&gt;
&lt;P dir=ltr&gt;&lt;FONT color=#010001&gt;helper&lt;/FONT&gt;.&lt;FONT color=#010001&gt;GetTableName&lt;/FONT&gt;(&lt;FONT color=#a31515&gt;"table"&lt;/FONT&gt;), &lt;FONT color=#010001&gt;_&lt;/P&gt;&lt;/FONT&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT color=#010001&gt;query.???&lt;/FONT&gt;))&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;The old method would be:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt; &lt;/P&gt;
&lt;P dir=ltr&gt;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt; &lt;FONT color=#010001&gt;helper&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;As&lt;/FONT&gt; &lt;FONT color=#010001&gt;QueryHelper&lt;/FONT&gt; = &lt;FONT color=#010001&gt;orEngine&lt;/FONT&gt;.&lt;FONT color=#010001&gt;QueryHelper&lt;/FONT&gt;()&lt;/P&gt;
&lt;P dir=ltr&gt;dim query as new OPathQuery(of Table)(table.fieldtwo="Value")&lt;/P&gt;
&lt;P dir=ltr&gt;&lt;FONT color=#0000ff&gt;Dim&lt;/FONT&gt; &lt;FONT color=#010001&gt;sql&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;As&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;String&lt;/FONT&gt; = &lt;FONT color=#0000ff&gt;String&lt;/FONT&gt;.&lt;FONT color=#010001&gt;Format&lt;/FONT&gt;(&lt;FONT color=#a31515&gt;"select {0} from {1} where {2}"&lt;/FONT&gt;, &lt;FONT color=#010001&gt;_&lt;/P&gt;&lt;/FONT&gt;
&lt;P dir=ltr&gt;&lt;FONT color=#010001&gt;helper&lt;/FONT&gt;.&lt;FONT color=#010001&gt;GetFieldName&lt;/FONT&gt;(&lt;FONT color=#a31515&gt;"table.field"&lt;/FONT&gt;), &lt;FONT color=#010001&gt;_&lt;/P&gt;&lt;/FONT&gt;
&lt;P dir=ltr&gt;&lt;FONT color=#010001&gt;helper&lt;/FONT&gt;.&lt;FONT color=#010001&gt;GetTableName&lt;/FONT&gt;(&lt;FONT color=#a31515&gt;"table"&lt;/FONT&gt;), &lt;FONT color=#010001&gt;_&lt;/P&gt;&lt;/FONT&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT color=#010001&gt;helper.GetExpression("&amp;lt;OPath String&amp;gt;"&lt;/FONT&gt;))&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT color=#000000&gt;The QueryHelper.GetExpression method that takes an OPathQuery object as it's parameter, is now marked as 'Obsolete'.&amp;nbsp; So what is the proper method to get a database independent sql clause from the OPath object?&amp;nbsp; I don't see any methods on the OPathQuery Object that would return the 'transformed' sql.&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT color=#000000&gt;The 'Obsolete' statement says:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT color=#000000&gt;&lt;FONT color=#a31515 size=2&gt;Use the newer full OPath Engine instead -- see the OPathQuery and OPathQuery&amp;lt;T&amp;gt; classes.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT color=#000000&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#000000 size=3&gt;I am attempting to use above type of expressions in the ExecuteScalar method.&amp;nbsp; How is this done?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT color=#000000&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#000000 size=3&gt;Thanks&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT color=#000000&gt;&lt;FONT color=#a31515 size=2&gt;&lt;FONT color=#000000 size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;</description></item><item><title>IList&lt;T&gt; vs List&lt;T&gt;</title><link>http://wilsonormapper.com/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://wilsonormapper.com/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>ObjectSpace: Entity Object not being Tracked - Logic.Customer:-2</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2581&amp;key=CKnzUvXhVqZrlQTxXmXrcA%3d%3d&amp;post=7733</link><pubDate>Mon, 10 Sep 2007 11:02:30 GMT</pubDate><description>I found this post somewhere in the threads:&lt;br&gt;&lt;br&gt;http://www.ormapper.net/Forums/Default.aspx?part=74&amp;amp;action=thread&amp;amp;id=2161&amp;amp;key=Y18kziysA5mSDDaOAvDqWQ%3D%3D&lt;br&gt;&lt;br&gt;I added that change to my code, and it solved the problem. I'm not sure why that problem arose in the first place, but this resolved it.&lt;br&gt;&lt;br&gt;However, I had made another change to the DataManger class (based on Paul Welter's CodeSmith template) where the ObjectSpace is recreated on every call. This change was intended to circumvent a caching problem that I had. But it conflicts with the change above.&lt;br&gt;&lt;br&gt;Since my change to recreate the ObjectSpace was a temporary hack anyway, I removed it, but I'm posting my solution for the benefit of the masses :)&lt;br&gt;&lt;br&gt;Noam&lt;br&gt;&lt;br&gt;</description></item><item><title>ObjectSpace: Entity Object not being Tracked - Logic.Customer:-2</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2581&amp;key=CKnzUvXhVqZrlQTxXmXrcA%3d%3d&amp;post=7732</link><pubDate>Sun, 09 Sep 2007 09:13:56 GMT</pubDate><description>Locally, my site works just fine. But when I upload it my shared hosting account (which has worked until now), I get this exception. Here's the stack trace:&lt;br&gt;&lt;br&gt;&lt;table bgcolor="#ffffcc" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;pre&gt;&lt;div dir="ltr"&gt;[ORMapperException: ObjectSpace: Entity Object not being Tracked - Logic.Customer:-2]&lt;br&gt;   Wilson.ORMapper.Internals.Context.get_Item(Object entityObject) in Context.cs:45&lt;br&gt;   Wilson.ORMapper.Transaction.PersistChanges(ICollection entityObjects, PersistDepth persistDepth) in Transaction.cs:464&lt;br&gt;   Wilson.ORMapper.ObjectSpace.PersistChanges(ICollection entityObjects, PersistDepth persistDepth) in ObjectSpace.cs:1412&lt;br&gt;   Wilson.ORMapper.ObjectSpace.PersistChanges(Object entityObject, PersistDepth persistDepth) in ObjectSpace.cs:1391&lt;br&gt;   Logic.Customer.Save(Boolean includeChildren) in Customer.Generated.cs:138&lt;br&gt;   Logic.Customer.Save() in Customer.Generated.cs:127&lt;br&gt;   Logic.Cart.CreateCart(String sessionId, String ipAddress) in Cart.cs:41&lt;br&gt;   Logic.Cart.GetCartBySession(String sessionId, String ipAddress) in Cart.cs:26&lt;br&gt;   Web.UI.Controls.CartStatusControl.Page_Load(Object sender, EventArgs e) in CartStatus.ascx.cs:11&lt;br&gt;   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15&lt;br&gt;   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34&lt;br&gt;   System.Web.UI.Control.OnLoad(EventArgs e) +99&lt;br&gt;   System.Web.UI.Control.LoadRecursive() +47&lt;br&gt;   System.Web.UI.Control.LoadRecursive() +131&lt;br&gt;   System.Web.UI.Control.LoadRecursive() +131&lt;br&gt;   System.Web.UI.Control.LoadRecursive() +131&lt;br&gt;   System.Web.UI.Control.LoadRecursive() +131&lt;br&gt;   System.Web.UI.Control.LoadRecursive() +131&lt;br&gt;   System.Web.UI.Control.LoadRecursive() +131&lt;br&gt;   System.Web.UI.Control.LoadRecursive() +131&lt;br&gt;   System.Web.UI.Control.LoadRecursive() +131&lt;br&gt;   System.Web.UI.Control.LoadRecursive() +131&lt;br&gt;   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061&lt;br&gt;&lt;/div&gt;&lt;/pre&gt;

                  &lt;/td&gt;
               &lt;/tr&gt;
            &lt;/tbody&gt;&lt;/table&gt;

            &lt;br&gt;&lt;br&gt;If I refresh the page, the number following the "Logic.Customer" in the exception message is incremented.&lt;br&gt;&lt;br&gt;The code I use where this crashes is:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Customer customer = new Customer();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; customer.Save();&lt;br&gt;&lt;br&gt;&lt;br&gt;In trying to fix it, I've changed it to &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Customer customer = new Customer();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; DataManager.ObjectSpace.StartTracking(customer, InitialState.Inserted);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; customer.FirstName = String.Empty;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; customer.LastName = String.Empty;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; customer.Save();&lt;br&gt;&lt;br&gt;But neither of these nor other variations I've tried seem to make a difference.&lt;br&gt;&lt;br&gt;Any idea what could be causing this? Or how to go about fixing it?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Noam&lt;br&gt;&lt;br&gt;</description></item><item><title>Delete from many to many with transactions and IObjectNotification</title><link>http://wilsonormapper.com/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>Open Source Wilson ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2580&amp;key=wyjyckxZYAKD9WiUMF8c4Q%3d%3d&amp;post=7730</link><pubDate>Sat, 08 Sep 2007 16:16:22 GMT</pubDate><description>&lt;P&gt;Thanks, Paul, for everything you've done with your O/R mapper over the years. I'm sure I speak for the community when I say that we'll do our best to continue its success in your name!&lt;/P&gt;
&lt;P&gt;The Google project is set up: &lt;A href="http://code.google.com/p/wilsonormapper/"&gt;http://code.google.com/p/wilsonormapper/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I haven't checked in any code yet, but I expect to over the weekend. It will be the 4.2.2.0 release&amp;nbsp;with only some minor changes to reflect the move to open source (i.e. new license headers, removal of the DEMO license restrictions, and other things) -- nothing functional. Over the coming weeks we'll port some of the subscriber preview changes and other community fixes to the Google project, and take it from there.&lt;/P&gt;</description></item><item><title>Open Source Wilson ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2580&amp;key=wyjyckxZYAKD9WiUMF8c4Q%3d%3d&amp;post=7729</link><pubDate>Sat, 08 Sep 2007 01:34:26 GMT</pubDate><description>I'm a subscriber, and personally, I think that this is a great move. To me, the ORMapper for $50 is a steal. It has saved me so much development time that I would have been happy to have paid $1000 or more for it (I bet you're kicking yourself now ;).&lt;br&gt;&lt;br&gt;Thanks again for such a great product!&lt;br&gt;&lt;br&gt;Tim&lt;br&gt;</description></item><item><title>Open Source Wilson ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2580&amp;key=wyjyckxZYAKD9WiUMF8c4Q%3d%3d&amp;post=7728</link><pubDate>Sat, 08 Sep 2007 01:34:15 GMT</pubDate><description>Hey, Paul. I think going open source with ORMapper is a great idea!&amp;nbsp; I completely understand your desire to focus on new development, and I'm sure most developers would agree.&amp;nbsp; ORMapper has always been far more valuable than the paltry $50 subscription fee, and it has saved me countless hours of development.&amp;nbsp; I can't imagine anyone who has really used the ORMapper having complaints or feeling short-changed with you going open source.&amp;nbsp; You've contributed a great deal to the .NET community.&amp;nbsp; I hope that you have been and will be well-rewarded.&lt;br&gt;&lt;br&gt;David Neal&lt;br&gt;www.christianasp.net&lt;br&gt;</description></item><item><title>Open Source Wilson ORMapper</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2580&amp;key=wyjyckxZYAKD9WiUMF8c4Q%3d%3d&amp;post=7727</link><pubDate>Fri, 07 Sep 2007 14:58:52 GMT</pubDate><description>&lt;P&gt;I'm going to be changing the ORMapper to open source very soon and I wanted to make sure that everyone that has paid understands.&amp;nbsp; First, the intent of my subscription was never to have a commercial product that would require updates and support forever.&amp;nbsp; Many of you may even remember that I started back in 2002 with a simple website that featured page templates and best practices.&amp;nbsp; In my pursuit of learning and trying things out things I added more features, like multiple forms, localization, master pages, and more.&amp;nbsp; And then I became interested in O/R Mapping and at the time very few options were available for .NET, but MS was planning ObjectSpaces.&amp;nbsp; Had something like NHibernate existed at that time then I most likely would never have went down this path, but it simply did not exist yet.&amp;nbsp; So I made my own simple ORMapper and gradually added more features -- all for my own use initially, hoping to move to ObjectSpaces at a later time.&amp;nbsp; Well ObjectSpaces was dropped, and enough people loved my ORMapper that it took on a life of its own, even after NHibernate due to the simplicity.&amp;nbsp; But the cold hard facts are that I have simply been unable to find the time for far too long to continue updating and supporting the ORMapper.&amp;nbsp; For the most part that hasn't been a huge deal since the ORMapper has been feature rich enough for the vast majority of users for some time now.&amp;nbsp; Its also been extremely stable for the vast majority of users, although there is a "zombie" issue that a small minority of users have faced.&amp;nbsp; There is also a user submitted patch for that which I have yet to officially apply since I have never been able to reliably reproduce the issue.&amp;nbsp; So since users have long contributed back, and have apparently fixed this bug also, it really makes sense to just make this open source given my lack of time.&amp;nbsp; Its also worth pointing out that Linq to Sql is just around the corner, and while it certainly isn't perfect, it is nonetheless probably good enough for me.&amp;nbsp; And that means that it will become one of my main priorities when I do find time, already absorbing the little bit I have found, and that's not fair to the ORMapper.&amp;nbsp; Also, in the spirit of my original intent, I want to use my time to continue learning and trying out new things, and that runs counter to more time on the ORMapper.&amp;nbsp; So while some of you may feel you've now paid unnecessarily, my hope is that I will be able to do something else cool that you will get access to as subscribers.&amp;nbsp; Very much like my original subscribers paid for page templates and eventually got a free ORMapper, you will at some point find more things on my site if I move on.&amp;nbsp; For instance, I'd like to radically revise my portal framework to feature Linq to Sql and more, which will focus on best practices you can use even if you could care less about the portal itself.&amp;nbsp; Of course that depends on me finding enough time, but I'm more likely to find time to do something totally new since I have to learn and try out these new things anyhow.&amp;nbsp; So to finish this email before I go on longer, look for an announcement from myself and Brian DeMarzo in the coming days or weeks about the ORMapper being open source.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>Inserting in joined table</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2579&amp;key=F%2bz5YZ95uUcjaQctyA%2fw4Q%3d%3d&amp;post=7726</link><pubDate>Thu, 06 Sep 2007 13:30:50 GMT</pubDate><description>&lt;P&gt;Hi Paul,&lt;/P&gt;
&lt;P&gt;how can I manage the insering in a class mapped to a table joined with another one?&lt;/P&gt;
&lt;P&gt;Let me say this is the part of the FileMap that defines the mapping of the entity Customer.&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;&amp;lt;&lt;FONT color=#a31515 size=2&gt;entity&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;Keypass.KeyVOIP.Customer&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;table&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;tacnAnagraficaContatti&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;keyMember&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;keyType&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;Auto&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;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;acnId&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;/&amp;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;telephoneNumber&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;acnDescrizione&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;TelephoneNumber&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;lookup&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;description&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;angDescrizione&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;table&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;tangAnagrafica&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;foreignKey&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;acnangId&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;lookupKey&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;angId&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;Description&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;entity&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;The problem is:&amp;nbsp; acnanfId is the foreign key of the table tacnAnagraficaContatti with respect of the table tangAnagrafica and it's not well valued when I try to execute an Inserting.&lt;/P&gt;
&lt;P&gt;How can I achieve this inserting by not using relations?&lt;/P&gt;
&lt;P&gt;Thank you so much and sorry for my bad English.&lt;/P&gt;
&lt;P&gt;Andrea.&lt;FONT color=#0000ff size=2&gt;&lt;/P&gt;&lt;/FONT&gt;</description></item><item><title>Returning all object that not in a ManyToMany relationship</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2578&amp;key=eQp3q7WjLN65SFeAnyeOGw%3d%3d&amp;post=7724</link><pubDate>Thu, 30 Aug 2007 14:45:17 GMT</pubDate><description>&lt;P&gt;Imagine you were trying to you have a&amp;nbsp;simplistic&amp;nbsp;Users and Groups relationship where there is a ManyToMany expressed between users and groups. If you want to find all the Users that are not in any Groups what is the best OPath Query. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;The best query I have found looks like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;OPath&amp;lt;User&amp;gt;("!Group[1==1]")&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;How ever this seems to be counterintuitive and produces some verbose SQL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;This looks better but does not work because it results in a logically no-op SQL statement. &lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;OPath&amp;lt;User&amp;gt;("Group[!notNull(GroupID)]")&lt;/SPAN&gt; because it evaluates&amp;nbsp;the groups a user is in&amp;nbsp;before it calculates which one are not in groups. &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;James&lt;/P&gt;&lt;/P&gt;</description></item><item><title>Delete from many to many with transactions and IObjectNotification</title><link>http://wilsonormapper.com/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://wilsonormapper.com/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>"ObjectSpace: SetField failed for...." error</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2575&amp;key=CHUbUUWX7MOev538Azkk0g%3d%3d&amp;post=7720</link><pubDate>Sat, 25 Aug 2007 15:45:50 GMT</pubDate><description>&lt;P&gt;It sounds like your GoDaddy site doesn't have the necessary reflection permissions.&amp;nbsp; If they have given you just the standard medium permission set then you'll need them to specifically give you the reflection permission.&amp;nbsp; Many hosters routinely do this since there are so many cases and libraries that require it, and at one time MS was even considering adding a standard "hoster" permission set that would include this (although I don't think they ever delivered).&amp;nbsp; If I remember correctly, the alternatives are&amp;nbsp;to map public properties instead of private fields, or to use the IObjectHelper interface -- but its been a while and I may be off a little on the exact details of the alternative.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>"ObjectSpace: SetField failed for...." error</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2575&amp;key=CHUbUUWX7MOev538Azkk0g%3d%3d&amp;post=7719</link><pubDate>Sat, 25 Aug 2007 14:35:06 GMT</pubDate><description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I have recently started using The WilsonORMapper and am new to the capability. I get the following error when retrieving an GetObjectSet. "ObjectSpace: SetField failed for..". The odd thing is that my mapping file is very simple (with no relationships being used) and the only change I have made to it that most tables do not use an identity column for the primary key but a user defined one (example attached).&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&amp;lt;entity type="App.ddo.TtPhonePh" table="ttPhone_Ph" keyMember="pMId" keyType="User"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;attribute member="pMId" field="p_m_id" alias="PMId" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;attribute member="pCtPhone" field="p_ct_phone" alias="PCtPhone" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;attribute member="pArea" field="p_area" alias="PArea" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;attribute member="pNumber" field="p_number" alias="PNumber" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;attribute member="pCtStatus" field="p_ct_status" alias="PCtStatus" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;attribute member="pInsertBy" field="p_insertBy" alias="PInsertBy" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;attribute member="pInsertDate" field="p_insertDate" alias="PInsertDate" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;attribute member="pUpDateBy" field="p_upDateBy" alias="PUpDateBy" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;attribute member="pUpDateDate" field="p_upDateDate" alias="PUpDateDate" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;/entity&amp;gt;&lt;/P&gt;
&lt;P&gt;Also interestingly I do not have any problems running the application locally either in debug mode or hosted as a website on my machine. However the error is encounted when I host the application on my website (GoDaddy). I am wondering if this has anything to do with the SQL Server versions. On my local machine I have is "9.00.3042.00, SP2, Express Edition" and on the website it is "9.00.3050.00, SP2, Standard Edition (64-bit)". &lt;/P&gt;
&lt;P&gt;Any other information associated with rectifying the problem would be appreciated.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Please note that the "Engine.ExecuteScalar" works fine in all cases.&lt;/P&gt;
&lt;P&gt;Thanks &lt;BR&gt;Nilesh &lt;/P&gt;</description></item><item><title>Handling nulls right.</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2571&amp;key=v%2fS6WhmxSHZHdK4iB3c8mQ%3d%3d&amp;post=7718</link><pubDate>Wed, 22 Aug 2007 20:18:42 GMT</pubDate><description>Thank you Paul. That's great and everything is clear now.</description></item><item><title>JOIN Scenario?</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2574&amp;key=7EEqsEYQL9H2sK4XSRzjXQ%3d%3d&amp;post=7716</link><pubDate>Wed, 22 Aug 2007 19:38:07 GMT</pubDate><description>&lt;P&gt;Other than the Lookup for individual properties, you'll have to manually manage associations if you need more control.&amp;nbsp; For instance, I do a lot of caching for objects that I know are mostly static, and so instead of using the ORMapper to pull associations, I use the ORMapper once for each type and then cache the results -- then my objects use my cache to get their associations.&amp;nbsp; Its not a hard concept, or even hard code, but it is custom code nonetheless.&amp;nbsp; NHibernate's certainly has more built-in options, although in my experience my manual solutions, which are still populated with my ORMapper, far outperform the pre-built solution that are overly generic.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>JOIN Scenario?</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2574&amp;key=7EEqsEYQL9H2sK4XSRzjXQ%3d%3d&amp;post=7714</link><pubDate>Wed, 22 Aug 2007 14:32:51 GMT</pubDate><description>In a Many-To-One relationship, is it possible to load all parent objects using a JOIN?&amp;nbsp; Similar to NHibernate's "fetch=join" attribute?&lt;br&gt;&lt;br&gt;For example, if I have a large list of orders I need to display in a grid.&amp;nbsp; One of the columns is the order's customer's name.&amp;nbsp; So everytime I call Order.Customer.Name it makes a SQL call to load the Customer object.&amp;nbsp; With lazy="false", it pre-loads them (which is expected) but it still makes a seperate SQL call for each Customer object.&lt;br&gt;&lt;br&gt;Is there anyway to tell the mapper to use a join instead?&amp;nbsp; I realize I could use the Lookup field, but I dont think I should have to create lookup fields for all the Customer's properties.&amp;nbsp; And dont really want to. (CustomerName, CustomerAddress, CustomerPhone etc). Or is that only way?&lt;br&gt;&lt;br&gt;Travis&lt;br&gt;</description></item><item><title>SQL IN</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2573&amp;key=5Me0R%2boTYCYdDdcNYlY6ag%3d%3d&amp;post=7713</link><pubDate>Wed, 22 Aug 2007 12:02:22 GMT</pubDate><description>&lt;P&gt;Hi David:&lt;/P&gt;
&lt;P&gt;You can make the where clause anything you want.&amp;nbsp; In the simplest cases its of the form "x = y", which the ObjectHelper assists with.&amp;nbsp; But there's nothing stopping the where clause from&amp;nbsp;being of the form "x in (select y from . . .)".&amp;nbsp; Its certainly something to avoid if possible, but sometimes things do get ugly -- you can also use a stored proc which avoids the ugly code, but of course makes it more database dependent.&lt;/P&gt;
&lt;P&gt;Thanks, Paul Wilson&lt;/P&gt;</description></item><item><title>SQL IN</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2573&amp;key=5Me0R%2boTYCYdDdcNYlY6ag%3d%3d&amp;post=7712</link><pubDate>Tue, 21 Aug 2007 21:38:09 GMT</pubDate><description>&lt;P&gt;Hi!&lt;/P&gt;
&lt;P&gt;I just can't figure out how to do the following efficiently :&lt;/P&gt;
&lt;P&gt;SELECT * FROM TABLE1 WHERE ID IN (SELECT ID FROM TABLE2 WHERE SOMETHING)&lt;/P&gt;
&lt;P&gt;The only solution I can think of is to first execute the inner sql and get an ObjectSet and then to iterate on it and call GetObject for each ID. Needless to say this is very very slow.&lt;/P&gt;
&lt;P&gt;How could I do this in WORM in a beautiful and efficient code?&lt;/P&gt;
&lt;P&gt;Thank you!&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;</description></item><item><title>Querying child objects from same table</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2569&amp;key=XM0PeAQMB9e28LIoTl61xA%3d%3d&amp;post=7711</link><pubDate>Tue, 21 Aug 2007 17:48:44 GMT</pubDate><description>&lt;P&gt;I found the &lt;A href="/Forums/Default.aspx?part=74&amp;amp;action=thread&amp;amp;id=1304&amp;amp;key=rBOwyBC6f4TZqGVMGwtitg%3d%3d"&gt;work around&lt;/A&gt;. It was easy to find once I discovered that this is referred to as an embedded object. The work around is to not use dot notation in the alias field:&lt;/P&gt;&lt;PRE&gt;&amp;lt;attribute member="address.line" field="AddressLine" alias="AddressLine" /&amp;gt;&lt;/PRE&gt;
&lt;P&gt;I can live with that.&lt;/P&gt;
&lt;P&gt;I know nothing about the OPath parser, but could it check the member field for dot notation and use that to recognize an embedded object?&lt;/P&gt;</description></item><item><title>Querying child objects from same table</title><link>http://wilsonormapper.com/Forums/Default.aspx?part=74&amp;action=thread&amp;id=2569&amp;key=XM0PeAQMB9e28LIoTl61xA%3d%3d&amp;post=7710</link><pubDate>Tue, 21 Aug 2007 17:17:40 GMT</pubDate><description>&lt;P&gt;Can anyone take a stab at this? I have inherited a database with the same address fields in many tables, and I'd like to represent them with an Address object. Normalizing isn't an option at this point.&lt;/P&gt;</description></item></channel></rss>