<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Adding Linq support to NPersist</title>
	<atom:link href="http://rogeralsing.com/2008/02/10/adding-linq-support-to-npersist/feed/" rel="self" type="application/rss+xml" />
	<link>http://rogeralsing.com/2008/02/10/adding-linq-support-to-npersist/</link>
	<description></description>
	<lastBuildDate>Sat, 28 Jan 2012 14:35:30 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Frans Bouma</title>
		<link>http://rogeralsing.com/2008/02/10/adding-linq-support-to-npersist/#comment-66</link>
		<dc:creator><![CDATA[Frans Bouma]]></dc:creator>
		<pubDate>Sat, 23 Feb 2008 21:20:15 +0000</pubDate>
		<guid isPermaLink="false">http://rogeralsing.wordpress.com/?p=55#comment-66</guid>
		<description><![CDATA[&quot;Storing query related info in the context would be madness &quot;
I know about a given O/R mapper, something with Linq and Sql, which does that ;) :).]]></description>
		<content:encoded><![CDATA[<p>&#8220;Storing query related info in the context would be madness &#8221;<br />
I know about a given O/R mapper, something with Linq and Sql, which does that ;) :).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roger Alsing</title>
		<link>http://rogeralsing.com/2008/02/10/adding-linq-support-to-npersist/#comment-63</link>
		<dc:creator><![CDATA[Roger Alsing]]></dc:creator>
		<pubDate>Sat, 23 Feb 2008 18:04:10 +0000</pubDate>
		<guid isPermaLink="false">http://rogeralsing.wordpress.com/?p=55#comment-63</guid>
		<description><![CDATA[&gt;&gt;or are these spans stored inside the queryable produced by the Repository call and not inside the context? 

Exactly.
Storing query related info in the context would be madness :-P]]></description>
		<content:encoded><![CDATA[<p>&gt;&gt;or are these spans stored inside the queryable produced by the Repository call and not inside the context? </p>
<p>Exactly.<br />
Storing query related info in the context would be madness :-P</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frans Bouma</title>
		<link>http://rogeralsing.com/2008/02/10/adding-linq-support-to-npersist/#comment-61</link>
		<dc:creator><![CDATA[Frans Bouma]]></dc:creator>
		<pubDate>Sat, 23 Feb 2008 12:39:49 +0000</pubDate>
		<guid isPermaLink="false">http://rogeralsing.wordpress.com/?p=55#comment-61</guid>
		<description><![CDATA[That prefetch path/span solution isn&#039;t going to work if you formulate two queries using the same context, or are these spans stored inside the queryable produced by the Repository call and not inside the context? 

I use a similar approach but with an extension method:
var q = (from c in metaData.Customer select c).WithPath(
            new PathEdge(c=&gt;c.Orders, o=&gt;o.EmployeeId==3), ... 


the thing is with this you can specify nested edges on the fly and also specify filters with the edge. 

One disadvantage is that if this query is inside a join branch, the whole path doesn&#039;t make sense. This is the fault of the developer so ignoring it or throwing an exception is best. 

It&#039;s impressive how fast you got this working, I struggled for months with the provider, as there was no documentation about anything and I couldn&#039;t pass on the elements in a query which looked very similar to the linq query, unfortunately. 

Once a core system of a linq provider is in place the rest is filling in the blanks but don&#039;t underestimate the fine print. There is a lot of time to waste on tiny little details, like all the different query forms &#039;Contains&#039; can be used in, which results in nested aggregates and a lot of derived tables.]]></description>
		<content:encoded><![CDATA[<p>That prefetch path/span solution isn&#8217;t going to work if you formulate two queries using the same context, or are these spans stored inside the queryable produced by the Repository call and not inside the context? </p>
<p>I use a similar approach but with an extension method:<br />
var q = (from c in metaData.Customer select c).WithPath(<br />
            new PathEdge(c=&gt;c.Orders, o=&gt;o.EmployeeId==3), &#8230; </p>
<p>the thing is with this you can specify nested edges on the fly and also specify filters with the edge. </p>
<p>One disadvantage is that if this query is inside a join branch, the whole path doesn&#8217;t make sense. This is the fault of the developer so ignoring it or throwing an exception is best. </p>
<p>It&#8217;s impressive how fast you got this working, I struggled for months with the provider, as there was no documentation about anything and I couldn&#8217;t pass on the elements in a query which looked very similar to the linq query, unfortunately. </p>
<p>Once a core system of a linq provider is in place the rest is filling in the blanks but don&#8217;t underestimate the fine print. There is a lot of time to waste on tiny little details, like all the different query forms &#8216;Contains&#8217; can be used in, which results in nested aggregates and a lot of derived tables.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

