<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>NLinq</title><link>http://www.codeplex.com/nlinq/Project/ProjectRss.aspx</link><description>NLinq is a framework focusing on reimplementing the Linq functionnalities in Visual Studio .Net 2003 and Visual Studio 2005 &amp;#40;C&amp;#35; &amp;#38; VB .Net&amp;#41; by providing a Linq grammar parser and a &amp;#34;Linq To Objects&amp;#34;...</description><item><title>New Post: Datasource</title><link>http://www.codeplex.com/nlinq/Thread/View.aspx?ThreadId=32092</link><description>&lt;div style="line-height: normal;"&gt;Is it possible to set the datasource of a gridview directly to an NLinq query? e.g.&lt;br&gt;
&lt;br&gt;
&lt;span style="font-size:13px"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; nlqQuery &lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; NLinqQuery(&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&amp;quot;from u in users join n in notes on u.UserId equals n.UserId &amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &amp;amp; _&lt;br&gt;
&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&amp;quot;select new { n.DateCreated, u.Name, n.Details }&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt;)&lt;br&gt;
&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; nlqMem &lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; LinqToMemory(nlqQuery)&lt;br&gt;
nlqMem.AddSource(&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&amp;quot;users&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt;, colUsers)&lt;br&gt;
nlqMem.AddSource(&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&amp;quot;notes&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt;, colNotes)&lt;br&gt;
&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;Me&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt;.gvwNotes.DataSource = nlqMem. (?)&lt;br&gt;
&lt;br&gt;
For a gridview with named columns, like:&lt;br&gt;
&lt;br&gt;
&lt;span style="font-size:13px"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;asp&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;GridView&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;ID&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;=&amp;quot;gvwNotes&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;runat&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;AutoGenerateColumns&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;=&amp;quot;False&amp;quot;&amp;gt;&lt;br&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;Columns&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&amp;gt;&lt;br&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;asp&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;BoundField&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;HeaderText&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;=&amp;quot;Date added&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;DataField&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;=&amp;quot;DateCreated&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;/&amp;gt;&lt;br&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;asp&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;BoundField&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;HeaderText&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;=&amp;quot;Author&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;DataField&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;=&amp;quot;Name&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;/&amp;gt;&lt;br&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;asp&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;BoundField&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;&lt;span style="font-size:13px;color:#ff0000"&gt;DataField&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;=&amp;quot;Details&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px"&gt; &lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;/&amp;gt;&lt;br&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;Columns&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&amp;gt;&lt;br&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;asp&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#a31515"&gt;&lt;span style="font-size:13px;color:#a31515"&gt;GridView&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&lt;span style="font-size:13px;color:#0000ff"&gt;&amp;gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I've tried using .Enumerator() and .Enumerator(Of T) but the first claims that there is not a property called DateCreated on the datasource, and the second doesn't seem to know how to cast the nlinq variant into another collection type.&lt;br&gt;
.List also doesn't seem to work by default. Any ideas?&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;</description><author>lmayne</author><pubDate>Wed, 23 Jul 2008 15:19:59 GMT</pubDate><guid isPermaLink="false">New Post: Datasource 20080723031959P</guid></item><item><title>CLOSED ISSUE: Joins are not working on RC</title><link>http://www.codeplex.com/nlinq/WorkItem/View.aspx?WorkItemId=3304</link><description>The resultset I got from the Join example is different from that expected. I get&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Bill&amp;#59; City &amp;#61; Redmon&amp;#59;  &amp;#125;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Bill&amp;#59; City &amp;#61; Redmon&amp;#59;  &amp;#125;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Bill&amp;#59; City &amp;#61; Redmon&amp;#59;  &amp;#125;&lt;br /&gt;&lt;br /&gt;which should have actually been&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Bill&amp;#59; City &amp;#61; Redmon&amp;#59; &amp;#125;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Bill&amp;#59; City &amp;#61; Boston&amp;#59; &amp;#125;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Cindy&amp;#59; City &amp;#61; New York&amp;#59; &amp;#125;&lt;br /&gt;Comments: This has been corrected in RC 2.</description><author>sebastienros</author><pubDate>Thu, 13 Mar 2008 17:24:10 GMT</pubDate><guid isPermaLink="false">CLOSED ISSUE: Joins are not working on RC 20080313052410P</guid></item><item><title>NEW POST: Documentation/Help?</title><link>http://www.codeplex.com/nlinq/Thread/View.aspx?ThreadId=16712</link><description>&lt;div class="wikidoc"&gt;
Do you still have this issue with the latest release ?&lt;br /&gt;
&lt;/div&gt;</description><author>sebastienros</author><pubDate>Thu, 13 Mar 2008 17:04:58 GMT</pubDate><guid isPermaLink="false">NEW POST: Documentation/Help? 20080313050458P</guid></item><item><title>CREATED RELEASE: NLinq Release Candidate 2 (janv. 20, 2008)</title><link>http://www.codeplex.com/nlinq/Release/ProjectReleases.aspx?ReleaseId=10047</link><description>- Corrected a bug on logical joins</description><author></author><pubDate>Sun, 20 Jan 2008 09:15:15 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: NLinq Release Candidate 2 (janv. 20, 2008) 20080120091515A</guid></item><item><title>CREATED ISSUE: Joins are not working on RC</title><link>http://www.codeplex.com/nlinq/WorkItem/View.aspx?WorkItemId=3304</link><description>The resultset I got from the Join example is different from that expected. I get&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Bill&amp;#59; City &amp;#61; Redmon&amp;#59;  &amp;#125;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Bill&amp;#59; City &amp;#61; Redmon&amp;#59;  &amp;#125;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Bill&amp;#59; City &amp;#61; Redmon&amp;#59;  &amp;#125;&lt;br /&gt;&lt;br /&gt;which should have actually been&amp;#58;&lt;br /&gt;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Bill&amp;#59; City &amp;#61; Redmon&amp;#59; &amp;#125;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Bill&amp;#59; City &amp;#61; Boston&amp;#59; &amp;#125;&lt;br /&gt;&amp;#123; Firstname &amp;#61; Cindy&amp;#59; City &amp;#61; New York&amp;#59; &amp;#125;&lt;br /&gt;</description><author>moggoly</author><pubDate>Fri, 18 Jan 2008 10:50:25 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Joins are not working on RC 20080118105025A</guid></item><item><title>UPDATED RELEASE: NLinq Release Candidate (janv. 15, 2008)</title><link>http://www.codeplex.com/nlinq/Release/ProjectReleases.aspx?ReleaseId=9900</link><description>- Added sub queries management&lt;br /&gt;- Added &amp;#34;null&amp;#34; keyword&lt;br /&gt;- Added unit tests to common scenarios&lt;br /&gt;- Optimized reflection performance</description><author></author><pubDate>Tue, 15 Jan 2008 08:54:10 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: NLinq Release Candidate (janv. 15, 2008) 20080115085410A</guid></item><item><title>RELEASED: NLinq Release Candidate (Jan 15, 2008)</title><link>http://www.codeplex.com/nlinq/Release/ProjectReleases.aspx?ReleaseId=9900</link><description>- Added sub queries management&lt;br /&gt;- Added &amp;#34;null&amp;#34; keyword&lt;br /&gt;- Added unit tests to common scenarios&lt;br /&gt;- Optimized reflection performance</description><author></author><pubDate>Tue, 15 Jan 2008 08:54:10 GMT</pubDate><guid isPermaLink="false">RELEASED: NLinq Release Candidate (Jan 15, 2008) 20080115085410A</guid></item><item><title>UPDATED RELEASE: NLinq Release Candidate (janv. 15, 2008)</title><link>http://www.codeplex.com/nlinq/Release/ProjectReleases.aspx?ReleaseId=9900</link><description>- Added sub queries management&lt;br /&gt;- Added &amp;#34;null&amp;#34; keyword&lt;br /&gt;- Added unit tests to common scenarios</description><author></author><pubDate>Tue, 15 Jan 2008 08:48:31 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: NLinq Release Candidate (janv. 15, 2008) 20080115084831A</guid></item><item><title>UPDATED RELEASE: Release Candidate (janv. 15, 2008)</title><link>http://www.codeplex.com/nlinq/Release/ProjectReleases.aspx?ReleaseId=9900</link><description>- Added sub queries management&lt;br /&gt;- Added &amp;#34;null&amp;#34; keyword&lt;br /&gt;- Added unit tests to common scenarios</description><author></author><pubDate>Tue, 15 Jan 2008 08:48:09 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Release Candidate (janv. 15, 2008) 20080115084809A</guid></item><item><title>CREATED RELEASE: Releas Candidate (janv. 15, 2008)</title><link>http://www.codeplex.com/nlinq/Release/ProjectReleases.aspx?ReleaseId=9900</link><description>- Added sub queries management&lt;br /&gt;- Added &amp;#34;null&amp;#34; keyword&lt;br /&gt;- Added unit tests to common scenarios</description><author></author><pubDate>Tue, 15 Jan 2008 08:47:45 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: Releas Candidate (janv. 15, 2008) 20080115084745A</guid></item><item><title>UPDATED RELEASE: NLinq Beta 2 (nov. 14, 2007)</title><link>http://www.codeplex.com/nlinq/Release/ProjectReleases.aspx?ReleaseId=8383</link><description>Corrected a bug on empty relationship joins&lt;br /&gt;Corrected a bug on escaping characters</description><author></author><pubDate>Wed, 14 Nov 2007 19:46:04 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: NLinq Beta 2 (nov. 14, 2007) 20071114074604P</guid></item><item><title>RELEASED: NLinq Beta 2 (Nov 14, 2007)</title><link>http://www.codeplex.com/nlinq/Release/ProjectReleases.aspx?ReleaseId=8383</link><description>Corrected a bug on empty relationship joins&lt;br /&gt;Corrected a bug on escaping characters</description><author></author><pubDate>Wed, 14 Nov 2007 16:28:49 GMT</pubDate><guid isPermaLink="false">RELEASED: NLinq Beta 2 (Nov 14, 2007) 20071114042849P</guid></item><item><title>CREATED RELEASE: NLinq Beta 2 (nov. 14, 2007)</title><link>http://www.codeplex.com/nlinq/Release/ProjectReleases.aspx?ReleaseId=8383</link><description>Corrected a bug on empty relationship joins&lt;br /&gt;Corrected a bug on escaping characters</description><author></author><pubDate>Wed, 14 Nov 2007 16:28:49 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: NLinq Beta 2 (nov. 14, 2007) 20071114042849P</guid></item><item><title>NEW POST: Documentation/Help?</title><link>http://www.codeplex.com/nlinq/Thread/View.aspx?ThreadId=16712</link><description>&lt;div class="wikidoc"&gt;
I am hoping to use your fantastic library for a rules engine implementation.  Couple questions. First, is there any additional documentation.  The samples are nice, but just seem to scratch the surface.&lt;br /&gt;Second, can anyone help me with the following queries?&lt;br /&gt; &lt;br /&gt;            // throws null ref.  How to compare string to Empty?&lt;br /&gt;            NLinqQuery query = new NLinqQuery(&lt;br /&gt;                @&amp;quot;  from c in contributions&lt;br /&gt;                    where c.Contact.LastName == '' &amp;amp;&amp;amp; c.Contact.FirstName == '' &amp;amp;&amp;amp; c.Amount == 100&lt;br /&gt;                    select new RulesEngineNLINQ.Individual { c.Contact.LastName }&amp;quot;);&lt;br /&gt; &lt;br /&gt;            // How to perform joins to get a query like this?&lt;br /&gt;            NLinqQuery query = new NLinqQuery(&lt;br /&gt;                @&amp;quot;  from c in contributions.Contact.Adresses&lt;br /&gt;                    where c.Street == 'Blah'&lt;br /&gt;                    select new RulesEngineNLINQ.Address()&amp;quot;);&lt;br /&gt;
&lt;/div&gt;</description><author>pianomanjh</author><pubDate>Sat, 20 Oct 2007 00:59:14 GMT</pubDate><guid isPermaLink="false">NEW POST: Documentation/Help? 20071020125914A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/nlinq/Wiki/View.aspx?title=Home&amp;version=15</link><description>&lt;div class="wikidoc"&gt;
&lt;h3&gt;
Project Description
&lt;/h3&gt; &lt;br /&gt;NLinq is a framework focusing on reimplementing the Linq functionnalities in Visual Studio .Net 2003 and Visual Studio 2005 &amp;#40;C&amp;#35; &amp;#38; VB .Net&amp;#41; by providing a Linq grammar parser and a &amp;#34;Linq To Objects&amp;#34; execution environment. With NLinq you can take advantage of major C&amp;#35; 3.0 features right now, without requiring it.
&lt;br /&gt; &lt;br /&gt;&lt;a href="http://www.codeplex.com/nlinq/Wiki/View.aspx?title=See%20some%20samples&amp;amp;referringTitle=Home"&gt;See some samples&lt;/a&gt; or how NLinq handles some of the &lt;a href="http://www.codeplex.com/nlinq/Wiki/View.aspx?title=Linq%20101%20Samples&amp;amp;referringTitle=Home"&gt;Linq 101 Samples&lt;/a&gt;.&lt;br /&gt;You can also read the &lt;a href="http://www.codeplex.com/nlinq/Wiki/View.aspx?title=Skeptical%20Faq&amp;amp;referringTitle=Home"&gt;Skeptical Faq&lt;/a&gt; for common questions about NLinq.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Sample Usage
&lt;/h3&gt; &lt;br /&gt;The goal is to implement this query: &amp;quot;Get all the instance methods on System.String, ordered by name and grouped into overloads, each with the name of the overloaded member and the number of overloads.&amp;quot;&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
            query = new NLinqQuery(
                @&amp;quot;  from m in methods
                    where !m.IsStatic
                    orderby m.Name
                    group m by m.Name into g
                    select new { MethodName = g.Key, Overloads = g.Count() }&amp;quot;);
 
            linq = new LinqToMemory(query);
            linq.AddSource(&amp;quot;methods&amp;quot;, typeof(string).GetMethods());
 
            foreach (object o in linq.Enumerate())
            {
                Console.WriteLine(o);
            } 
&lt;/pre&gt; &lt;br /&gt;&lt;b&gt;Result&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;{ MethodName = Clone; Overloads = 1;  }&lt;br /&gt;{ MethodName = CompareTo; Overloads = 2;  }&lt;br /&gt;{ MethodName = Contains; Overloads = 1;  }&lt;br /&gt;{ MethodName = CopyTo; Overloads = 1;  }&lt;br /&gt;{ MethodName = EndsWith; Overloads = 3;  }&lt;br /&gt;{ MethodName = Equals; Overloads = 3;  }&lt;br /&gt;{ MethodName = get_Chars; Overloads = 1;  }&lt;br /&gt;{ MethodName = get_Length; Overloads = 1;  }&lt;br /&gt;{ MethodName = GetEnumerator; Overloads = 1;  }&lt;br /&gt;{ MethodName = GetHashCode; Overloads = 1;  }&lt;br /&gt;{ MethodName = GetType; Overloads = 1;  }&lt;br /&gt;{ MethodName = GetTypeCode; Overloads = 1;  }&lt;br /&gt;{ MethodName = IndexOf; Overloads = 9;  }&lt;br /&gt;{ MethodName = IndexOfAny; Overloads = 3;  }&lt;br /&gt;{ MethodName = Insert; Overloads = 1;  }&lt;br /&gt;{ MethodName = IsNormalized; Overloads = 2;  }&lt;br /&gt;{ MethodName = LastIndexOf; Overloads = 9;  }&lt;br /&gt;{ MethodName = LastIndexOfAny; Overloads = 3;  }&lt;br /&gt;{ MethodName = Normalize; Overloads = 2;  }&lt;br /&gt;{ MethodName = PadLeft; Overloads = 2;  }&lt;br /&gt;{ MethodName = PadRight; Overloads = 2;  }&lt;br /&gt;{ MethodName = Remove; Overloads = 2;  }&lt;br /&gt;{ MethodName = Replace; Overloads = 2;  }&lt;br /&gt;{ MethodName = Split; Overloads = 6;  }&lt;br /&gt;{ MethodName = StartsWith; Overloads = 3;  }&lt;br /&gt;{ MethodName = Substring; Overloads = 2;  }&lt;br /&gt;{ MethodName = ToCharArray; Overloads = 2;  }&lt;br /&gt;{ MethodName = ToLower; Overloads = 2;  }&lt;br /&gt;{ MethodName = ToLowerInvariant; Overloads = 1;  }&lt;br /&gt;{ MethodName = ToString; Overloads = 2;  }&lt;br /&gt;{ MethodName = ToUpper; Overloads = 2;  }&lt;br /&gt;{ MethodName = ToUpperInvariant; Overloads = 1;  }&lt;br /&gt;{ MethodName = Trim; Overloads = 2;  }&lt;br /&gt;{ MethodName = TrimEnd; Overloads = 1;  }&lt;br /&gt;{ MethodName = TrimStart; Overloads = 1;  }&lt;br /&gt; &lt;br /&gt;Original idea for this query: LukeH &lt;a href="http://blogs.msdn.com/lukeh/archive/2007/03/31/in-memory-query-with-c-2-0-and-c-3-0.aspx" class="externalLink"&gt;http://blogs.msdn.com/lukeh/archive/2007/03/31/in-memory-query-with-c-2-0-and-c-3-0.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
People behind NLinq
&lt;/h3&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/nlinq/Project/Download/FileDownload.aspx?DownloadId=18414" alt="petit_carre.png" /&gt;&lt;br /&gt; &lt;br /&gt;NLinq is a project managed by the people of Evaluant (&lt;a href="http://www.evaluant.com" class="externalLink"&gt;http://www.evaluant.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;) and is a part of its R&amp;amp;D developments.&lt;br /&gt;
&lt;/div&gt;</description><author>sebastienros</author><pubDate>Fri, 19 Oct 2007 11:27:27 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071019112727A</guid></item><item><title>CREATED RELEASE: NLinq Beta (oct. 10, 2007)</title><link>http://www.codeplex.com/nlinq/Release/ProjectReleases.aspx?ReleaseId=7837</link><description>Beta release&lt;br /&gt;&amp;#42; Changed namespaces to Evaluant.NLinq.&amp;#42;&lt;br /&gt;&amp;#42; Assemblies are signed&lt;br /&gt;&amp;#42; Added Enumerate&amp;#40;&amp;#41;, Evaluate&amp;#40;&amp;#41; and List&amp;#40;&amp;#41; methods</description><author></author><pubDate>Fri, 19 Oct 2007 10:14:09 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: NLinq Beta (oct. 10, 2007) 20071019101409A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/nlinq/Wiki/View.aspx?title=Home&amp;version=14</link><description>&lt;div class="wikidoc"&gt;
&lt;h3&gt;
Project Description
&lt;/h3&gt; &lt;br /&gt;NLinq is a framework focusing on reimplementing the Linq functionnalities in Visual Studio .Net 2003 and Visual Studio 2005 &amp;#40;C&amp;#35; &amp;#38; VB .Net&amp;#41; by providing a Linq grammar parser and a &amp;#34;Linq To Objects&amp;#34; execution environment. With NLinq you can take advantage of major C&amp;#35; 3.0 features right now, without requiring it.
&lt;br /&gt; &lt;br /&gt;&lt;a href="http://www.codeplex.com/nlinq/Wiki/View.aspx?title=See%20some%20samples&amp;amp;referringTitle=Home"&gt;See some samples&lt;/a&gt; or how NLinq handles some of the &lt;a href="http://www.codeplex.com/nlinq/Wiki/View.aspx?title=Linq%20101%20Samples&amp;amp;referringTitle=Home"&gt;Linq 101 Samples&lt;/a&gt;.&lt;br /&gt;You can also read the &lt;a href="http://www.codeplex.com/nlinq/Wiki/View.aspx?title=Skeptical%20Faq&amp;amp;referringTitle=Home"&gt;Skeptical Faq&lt;/a&gt; for common questions about NLinq.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Sample Usage
&lt;/h3&gt; &lt;br /&gt;The goal is to implement this query: &amp;quot;Get all the instance methods on System.String, ordered by name and grouped into overloads, each with the name of the overloaded member and the number of overloads.&amp;quot;&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
            query = new NLinqQuery(
                @&amp;quot;  from m in methods
                    where !m.IsStatic
                    orderby m.Name
                    group m by m.Name into g
                    select new { MethodName = g.Key, Overloads = g.Count() }&amp;quot;);
 
            linq = new LinqToMemory(query);
            linq.AddSource(&amp;quot;methods&amp;quot;, typeof(string).GetMethods());
 
            foreach (object o in linq.Evaluate&amp;lt;IEnumerable&amp;gt;())
            {
                Console.WriteLine(o);
            } 
&lt;/pre&gt; &lt;br /&gt;&lt;b&gt;Result&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;{ MethodName = Clone; Overloads = 1;  }&lt;br /&gt;{ MethodName = CompareTo; Overloads = 2;  }&lt;br /&gt;{ MethodName = Contains; Overloads = 1;  }&lt;br /&gt;{ MethodName = CopyTo; Overloads = 1;  }&lt;br /&gt;{ MethodName = EndsWith; Overloads = 3;  }&lt;br /&gt;{ MethodName = Equals; Overloads = 3;  }&lt;br /&gt;{ MethodName = get_Chars; Overloads = 1;  }&lt;br /&gt;{ MethodName = get_Length; Overloads = 1;  }&lt;br /&gt;{ MethodName = GetEnumerator; Overloads = 1;  }&lt;br /&gt;{ MethodName = GetHashCode; Overloads = 1;  }&lt;br /&gt;{ MethodName = GetType; Overloads = 1;  }&lt;br /&gt;{ MethodName = GetTypeCode; Overloads = 1;  }&lt;br /&gt;{ MethodName = IndexOf; Overloads = 9;  }&lt;br /&gt;{ MethodName = IndexOfAny; Overloads = 3;  }&lt;br /&gt;{ MethodName = Insert; Overloads = 1;  }&lt;br /&gt;{ MethodName = IsNormalized; Overloads = 2;  }&lt;br /&gt;{ MethodName = LastIndexOf; Overloads = 9;  }&lt;br /&gt;{ MethodName = LastIndexOfAny; Overloads = 3;  }&lt;br /&gt;{ MethodName = Normalize; Overloads = 2;  }&lt;br /&gt;{ MethodName = PadLeft; Overloads = 2;  }&lt;br /&gt;{ MethodName = PadRight; Overloads = 2;  }&lt;br /&gt;{ MethodName = Remove; Overloads = 2;  }&lt;br /&gt;{ MethodName = Replace; Overloads = 2;  }&lt;br /&gt;{ MethodName = Split; Overloads = 6;  }&lt;br /&gt;{ MethodName = StartsWith; Overloads = 3;  }&lt;br /&gt;{ MethodName = Substring; Overloads = 2;  }&lt;br /&gt;{ MethodName = ToCharArray; Overloads = 2;  }&lt;br /&gt;{ MethodName = ToLower; Overloads = 2;  }&lt;br /&gt;{ MethodName = ToLowerInvariant; Overloads = 1;  }&lt;br /&gt;{ MethodName = ToString; Overloads = 2;  }&lt;br /&gt;{ MethodName = ToUpper; Overloads = 2;  }&lt;br /&gt;{ MethodName = ToUpperInvariant; Overloads = 1;  }&lt;br /&gt;{ MethodName = Trim; Overloads = 2;  }&lt;br /&gt;{ MethodName = TrimEnd; Overloads = 1;  }&lt;br /&gt;{ MethodName = TrimStart; Overloads = 1;  }&lt;br /&gt; &lt;br /&gt;Original idea for this query: LukeH &lt;a href="http://blogs.msdn.com/lukeh/archive/2007/03/31/in-memory-query-with-c-2-0-and-c-3-0.aspx" class="externalLink"&gt;http://blogs.msdn.com/lukeh/archive/2007/03/31/in-memory-query-with-c-2-0-and-c-3-0.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
People behind NLinq
&lt;/h3&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/nlinq/Project/FileDownload.aspx?DownloadId=18414" alt="petit_carre.png" /&gt;&lt;br /&gt; &lt;br /&gt;NLinq is a project managed by the people of Evaluant (&lt;a href="http://www.evaluant.com" class="externalLink"&gt;http://www.evaluant.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;) and is a part of its R&amp;amp;D developments.&lt;br /&gt;
&lt;/div&gt;</description><author>sebastienros</author><pubDate>Fri, 07 Sep 2007 05:44:55 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20070907054455A</guid></item><item><title>UPDATED WIKI: Skeptical Faq</title><link>http://www.codeplex.com/nlinq/Wiki/View.aspx?title=Skeptical Faq&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h3&gt;
Your project is useless, Linq works on .NET 2.0 !
&lt;/h3&gt; &lt;br /&gt;Yes, NLinq is useless. Well, at least for people programming their applications with Visual Studio .NET 2008. For people using a previous version it might be usefull. There are also some scenarios where this could answer the Linq &amp;quot;dynamic&amp;quot; model flow (c.f. bellow).&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
It's not Linq, you even don't have intellisense !
&lt;/h3&gt; &lt;br /&gt;Yes, NLinq is not as powerfull as Linq. Actually we are not stating that NLinq is better than Linq, even not as good. The Linq language is a subset of C# and VB.NET in Visual Studio 2008. Thus we can't have those keywords in other versions, which makes it impossible not to use strings to represent Linq queries.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
How is the performance with NLinq ?
&lt;/h3&gt; &lt;br /&gt;Bad ! And maybe even more than Linq has bad performances. You can't &amp;quot;browse&amp;quot; objects in a generic way with the same performance you browse them specifically. I mean if you want &amp;quot;performance&amp;quot;, just don't use Linq, even C#, use assembler. You should ask yourself what time you judge convenient for a specific query, then try it. I can say that most of the time you won't say it's too slow for the advantage it offers.&lt;br /&gt;If you want better performance, some other projects add indexing to &amp;quot;Linq To Objects&amp;quot; (c.f. &lt;a href="http://www.codeplex.com/i4o" class="externalLink"&gt;http://www.codeplex.com/i4o&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;).&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
So what should I use NLinq for ?
&lt;/h3&gt; &lt;br /&gt;Fun ! And maybe some more interesting things. If you are using earlier versions of Visual Studio .NET the answer is the same as why you should use Linq. But there are some scenarios where NLinq can be helpful even for Visual Studio .NET 2008 users. For instance if you need to set mathematical formulas or object queries outside the application, i.e. in configuration files or the database, even the real Linq can't help you. Then NLinq beats it ! Yeah !!!!&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>sebastienros</author><pubDate>Thu, 06 Sep 2007 07:03:19 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Skeptical Faq 20070906070319A</guid></item><item><title>UPDATED WIKI: Skeptical Faq</title><link>http://www.codeplex.com/nlinq/Wiki/View.aspx?title=Skeptical Faq&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h3&gt;
Your project is useless, Linq works on .NET 2.0 !
&lt;/h3&gt; &lt;br /&gt;Yes, NLinq is useless. Well, at least for people programming their applications with Visual Studio .NET 2008. For people using a previous version it might be usefull. There are also some scenarios where this could answer the Linq &amp;quot;dynamic&amp;quot; model flow (c.f. bellow).&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
It's not Linq, you even don't have intellisense !
&lt;/h3&gt; &lt;br /&gt;Yes, NLinq is not as powerfull as Linq. Actually we are not stating that NLinq is better than Linq, even not as good. The Linq language is a subset of C# and VB.NET in Visual Studio 2008. Thus we can't have those keywords in other versions, which makes it impossible not to use strings to represent Linq queries.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
How is the performance with NLinq ?
&lt;/h3&gt; &lt;br /&gt;Bad ! And maybe even more than Linq has bad performances. You can't &amp;quot;browse&amp;quot; objects in a generic way with the same performance you brose hem specifically. I mean if you want &amp;quot;performance&amp;quot;, just don't use Linq, even C#, use assembler. You should ask yourself what time you judge convenient for a specific query, then try it. I can say that most of the time you won't say it's too slow for the advantage it offers.&lt;br /&gt;If you want better performance, some other projects add indexing to &amp;quot;Linq To Objects&amp;quot; (c.f. &lt;a href="http://www.codeplex.com/i4o" class="externalLink"&gt;http://www.codeplex.com/i4o&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;).&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
So what should I use NLinq for ?
&lt;/h3&gt; &lt;br /&gt;Fun ! And maybe some more interesting things. If you are using earlier version of Visual Studio .NET the answer is the same as why you should use Linq. But there are some scenarios where NLinq can be helpful even for Visual Studio .NET 2008 users. For instance if you need to set mathematical formulas or object queries outside the application, i.e. in configuration files or the database, even the real Linq can't help you. Then NLinq beats it ! Yeah !!!!&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>sebastienros</author><pubDate>Thu, 06 Sep 2007 06:59:58 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Skeptical Faq 20070906065958A</guid></item><item><title>UPDATED WIKI: Skeptical Faq</title><link>http://www.codeplex.com/nlinq/Wiki/View.aspx?title=Skeptical Faq&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h3&gt;
Your project is useless, Linq works on .NET 2.0 !
&lt;/h3&gt; &lt;br /&gt;Yes, NLinq is useless. Well, at least for people programming their applications with Visual Studio .NET 2008. For people using a previous version it might be usefull. Their are also some scenarios where this could answer the Linq &amp;quot;dynamic&amp;quot; model flow (c.f. bellow).&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
It's not Linq, you even don't have intellisense !
&lt;/h3&gt; &lt;br /&gt;Yes, NLinq is not as powerfull as Linq. Actually we are not stating that NLinq is better than Linq, even not as good. The Linq language is a subset of C# and VB.NET in Visual Studio 2008. Thus we can't have those keywords in other versions, which makes it impossible not to use strings to represent Linq queries.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
How is the performance with NLinq ?
&lt;/h3&gt; &lt;br /&gt;Bad ! And maybe even more than Linq has bad performances. You can't &amp;quot;browse&amp;quot; objects in a generic way with the same performance you brose hem specifically. I mean if you want &amp;quot;performance&amp;quot;, just don't use Linq, even C#, use assembler. You should ask yourself what time you judge convenient for a specific query, then try it. I can say that most of the time you won't say it's too slow for the advantage it offers.&lt;br /&gt;If you want better performance, some other projects add indexing to &amp;quot;Linq To Objects&amp;quot; (c.f. &lt;a href="http://www.codeplex.com/i4o" class="externalLink"&gt;http://www.codeplex.com/i4o&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;).&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
So what should I use NLinq for ?
&lt;/h3&gt; &lt;br /&gt;Fun ! And maybe some more interesting things. If you are using earlier version of Visual Studio .NET the answer is the same as why you should use Linq. But there are some scenarios where NLinq can be helpful even for Visual Studio .NET 2008 users. For instance if you need to set mathematical formulas or object queries outside the application, i.e. in configuration files or the database, even the real Linq can't help you. Then NLinq beats it ! Yeah !!!!&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>sebastienros</author><pubDate>Thu, 06 Sep 2007 06:56:39 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Skeptical Faq 20070906065639A</guid></item></channel></rss>