<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Matthieu MEZIL : .Net</title><link>http://msmvps.com/blogs/matthieu/archive/tags/.Net/default.aspx</link><description>Tags: .Net</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>EF and N-Tiers</title><link>http://msmvps.com/blogs/matthieu/archive/2009/12/12/ef-and-n-tiers.aspx</link><pubDate>Sun, 13 Dec 2009 00:56:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1745206</guid><dc:creator>Matthieu MEZIL</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/matthieu/rsscomments.aspx?PostID=1745206</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/matthieu/commentapi.aspx?PostID=1745206</wfw:comment><comments>http://msmvps.com/blogs/matthieu/archive/2009/12/12/ef-and-n-tiers.aspx#comments</comments><description>&lt;p&gt;Even if it’s really easier with Self-Tracking entities and EF4, a difficult point remains in N-Tiers scenarios.&lt;/p&gt;  &lt;p&gt;In a &lt;a href="http://msmvps.com/blogs/matthieu/archive/2009/11/24/data-oriented-wcf-service-agile-with-ef4-and-a-sort-of-provider-linq.aspx" target="_blank"&gt;previous post&lt;/a&gt;, I explained how with T4, I can generate all my WCF service. Now, what about the client tiers?&lt;/p&gt;  &lt;p&gt;I &lt;a href="http://msmvps.com/blogs/matthieu/archive/2009/11/24/data-oriented-wcf-service-agile-with-ef4-and-a-sort-of-provider-linq.aspx" target="_blank"&gt;explained&lt;/a&gt; how can I use LINQ queries and translate them into WCF service methods.&lt;/p&gt;  &lt;p&gt;Now my objective is to have a real context on the client tier. &lt;a href="http://msmvps.com/blogs/matthieu/archive/2009/11/04/ado-net-data-services-client.aspx" target="_blank"&gt;I already did it for ADO .NET Data Services using T4&lt;/a&gt;, I now have one (still with T4 of course) for WCF.&lt;/p&gt;  &lt;p&gt;One of my customers told me that he didn’t like the fact that with ADO .NET Data Services, when you want to access to the context collection, it implies a REST query by default. He wanted to use the cache by default. &lt;/p&gt;  &lt;p&gt;With my context, I have this and I use AsQueryable extension method to generate a query on the server.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;[&lt;span style="color:#2b91af;"&gt;TestClass&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:9.5pt;"&gt;public&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;UnitTest        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestService()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;INorthwindService&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, context.GetCustomers().Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestFilter()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;INorthwindService&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.GetCustomers(&lt;span style="color:blue;"&gt;null&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;&amp;quot;it.CustomerID=&amp;#39;ALFKI&amp;#39;&amp;quot;&lt;/span&gt;, &lt;span style="color:blue;"&gt;null&lt;/span&gt;, &lt;span style="color:blue;"&gt;null&lt;/span&gt;, &lt;span style="color:blue;"&gt;null&lt;/span&gt;).Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestLINQWhere()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, (&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Customers.AsQueryable()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; c.CustomerID == &lt;span style="color:#a31515;"&gt;&amp;quot;ALFKI&amp;quot;        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c).Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestLINQWhere2()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; customerID = &lt;span style="color:#a31515;"&gt;&amp;quot;ALFKI&amp;quot;&lt;/span&gt;;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, (&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Customers.AsQueryable()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; c.CustomerID == customerID       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c).Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestLINQWhere3()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; customer = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;ALFKI&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, (&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Customers.AsQueryable()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; c.CustomerID == customer.CustomerID       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c).Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:9.5pt;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&lt;/span&gt;&amp;#160;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestLINQWhere4()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, (&lt;span style="color:blue;"&gt;from&lt;/span&gt; o &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Orders.AsQueryable()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; o.OrderDate &amp;gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt;(&lt;span style="color:brown;"&gt;1997&lt;/span&gt;, &lt;span style="color:brown;"&gt;1&lt;/span&gt;, &lt;span style="color:brown;"&gt;31&lt;/span&gt;)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; o).Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestLINQWhere5()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; d = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt;(&lt;span style="color:brown;"&gt;1997&lt;/span&gt;, &lt;span style="color:brown;"&gt;1&lt;/span&gt;, &lt;span style="color:brown;"&gt;31&lt;/span&gt;);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, (&lt;span style="color:blue;"&gt;from&lt;/span&gt; o &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Orders.AsQueryable()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; o.OrderDate &amp;gt; d       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; o).Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:9.5pt;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&lt;/span&gt;&amp;#160;&amp;#160; &lt;br /&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestLINQTake()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;2&lt;/span&gt;, (&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Customers.AsQueryable()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c).Take(&lt;span style="color:brown;"&gt;2&lt;/span&gt;).Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestFirstAndInclude()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; order = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; o &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Orders.AsQueryable().Include(&lt;span style="color:#2b91af;"&gt;Order&lt;/span&gt;.CUSTOMER_NAME).Include(&lt;span style="color:#2b91af;"&gt;Order&lt;/span&gt;.ORDERDETAILS_NAME)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; o.ShipCity == &lt;span style="color:#a31515;"&gt;&amp;quot;PARIS&amp;quot;        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;orderby&lt;/span&gt; o.OrderDate       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; o).Skip(&lt;span style="color:brown;"&gt;2&lt;/span&gt;).First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNotNull(order.Customer);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Customers.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(order.Customer, context.Customers[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Orders.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(order, context.Orders[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, order.OrderDetails);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; NoTracking()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.MergeOption = &lt;span style="color:#2b91af;"&gt;MergeOption&lt;/span&gt;.NoTracking;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; l = context.Customers.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, context.Customers.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, l.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AppendOnly()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.MergeOption = &lt;span style="color:#2b91af;"&gt;MergeOption&lt;/span&gt;.AppendOnly;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; l = context.Customers.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(l.Count, context.Customers.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AppendOnly2()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.MergeOption = &lt;span style="color:#2b91af;"&gt;MergeOption&lt;/span&gt;.AppendOnly;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;ALFKI&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.Attach(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNull(c.CompanyName);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, c.ChangeTracker.ModifiedProperties.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; OverwriteChanges()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.MergeOption = &lt;span style="color:#2b91af;"&gt;MergeOption&lt;/span&gt;.OverwriteChanges;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; l = context.Customers.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(l.Count, context.Customers.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; OverwriteChanges2()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.MergeOption = &lt;span style="color:#2b91af;"&gt;MergeOption&lt;/span&gt;.OverwriteChanges;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;ALFKI&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.Attach(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNotNull(c.CompanyName);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, c.ChangeTracker.ModifiedProperties.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}      &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; PreserveChanges()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.MergeOption = &lt;span style="color:#2b91af;"&gt;MergeOption&lt;/span&gt;.PreserveChanges;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; l = context.Customers.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(l.Count, context.Customers.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; PreserveChanges2()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.MergeOption = &lt;span style="color:#2b91af;"&gt;MergeOption&lt;/span&gt;.PreserveChanges;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;ALFKI&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.Attach(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNull(c.CompanyName);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, c.ChangeTracker.ModifiedProperties.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsTrue(c.ChangeTracker.ModifiedProperties.Contains(&lt;span style="color:#a31515;"&gt;&amp;quot;CompanyName&amp;quot;&lt;/span&gt;));       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Save()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:green;"&gt;//Add        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; psCount = context.Products.AsQueryable().Count();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductName = &lt;span style="color:#a31515;"&gt;&amp;quot;p&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;context.Products.Add(p);      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:#2b91af;font-size:9.5pt;"&gt;Assert&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, p.ProductID);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Unchanged, p.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(psCount + &lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Products.AsQueryable().ToList().Count);&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:green;"&gt;//Update        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;p.ProductName = &lt;span style="color:#a31515;"&gt;&amp;quot;p2&amp;quot;&lt;/span&gt;;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, p.ChangeTracker.ModifiedProperties.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#a31515;"&gt;&amp;quot;ProductName&amp;quot;&lt;/span&gt;, p.ChangeTracker.ModifiedProperties[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.MergeOption = &lt;span style="color:#2b91af;"&gt;MergeOption&lt;/span&gt;.NoTracking;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p2 = context.Products.AsQueryable().Where(pr =&amp;gt; pr.ProductID == p.ProductID).First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(p, p2);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#a31515;"&gt;&amp;quot;p2&amp;quot;&lt;/span&gt;, p2.ProductName);&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:green;"&gt;//Remove        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Remove(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Deleted, p.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(psCount, context.Products.AsQueryable().ToList().Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Save2()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; csCount = context.Categories.AsQueryable().Count();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c1 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { CategoryName = &lt;span style="color:#a31515;"&gt;&amp;quot;cn&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Add(c1);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; psCount = context.Products.AsQueryable().Count();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p1 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductName = &lt;span style="color:#a31515;"&gt;&amp;quot;p1&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductName = &lt;span style="color:#a31515;"&gt;&amp;quot;p2&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;context.Products.Add(p1);      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Add(p2);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:9.5pt;"&gt;using&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(csCount + &lt;span style="color:brown;"&gt;1&lt;/span&gt;, context2.Categories.AsQueryable().Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(psCount + &lt;span style="color:brown;"&gt;2&lt;/span&gt;, context2.Products.AsQueryable().Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Remove(c1);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Remove(p1);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;p2.ProductName = &lt;span style="color:#a31515;"&gt;&amp;quot;p2Bis&amp;quot;&lt;/span&gt;;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:9.5pt;"&gt;using&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(csCount, context2.Categories.AsQueryable().Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(psCount + &lt;span style="color:brown;"&gt;1&lt;/span&gt;, context2.Products.AsQueryable().Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#a31515;"&gt;&amp;quot;p2Bis&amp;quot;&lt;/span&gt;, context2.Products.Last().ProductName);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Remove(p2);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(psCount, context2.Products.AsQueryable().Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestSaveManyToMany()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;CustomerDemographic&lt;/span&gt; cd;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;cd = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CustomerDemographic&lt;/span&gt; { CustomerTypeID = &lt;span style="color:#a31515;"&gt;&amp;quot;CD&amp;quot;&lt;/span&gt;, CustomerDesc = &lt;span style="color:#a31515;"&gt;&amp;quot;cd desc&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.CustomerDemographics.Add(cd);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = context.Customers.AsQueryable().First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;c.CustomerDemographics.Add(cd);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Unchanged, cd.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.CustomerDemographics.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, cd.Customers.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = context.Customers.AsQueryable().Include(&lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt;.CUSTOMERDEMOGRAPHICS_NAME).First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, context.CustomerDemographics.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, cd.Customers.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.CustomerDemographics.Remove(context.CustomerDemographics.First(cd2 =&amp;gt; cd2.CustomerTypeID.TrimEnd() == &lt;span style="color:#a31515;"&gt;&amp;quot;CD&amp;quot;&lt;/span&gt;));       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestAddViaCollection()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; psCount;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;psCount = context2.Products.AsQueryable().Count();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = context.Categories.AsQueryable().First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductName = &lt;span style="color:#a31515;"&gt;&amp;quot;pn&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;c.Products.Add(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(context.Products[&lt;span style="color:brown;"&gt;0&lt;/span&gt;], p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p.Category, c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p.CategoryID, c.Id);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Added, p.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(psCount + &lt;span style="color:brown;"&gt;1&lt;/span&gt;, context2.Products.AsQueryable().Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Remove(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestAddViaCollection2()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; psCount;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;psCount = context2.Products.AsQueryable().Count();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = context.Categories.AsQueryable().First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductName = &lt;span style="color:#a31515;"&gt;&amp;quot;pn&amp;quot;&lt;/span&gt;, Category = c };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(context.Products[&lt;span style="color:brown;"&gt;0&lt;/span&gt;], p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p.Category, c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p.CategoryID, c.Id);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Added, p.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(psCount + &lt;span style="color:brown;"&gt;1&lt;/span&gt;, context2.Products.AsQueryable().Count());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Remove(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestAddViaCollection3()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { CategoryName = &lt;span style="color:#a31515;"&gt;&amp;quot;cn&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Add(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductName = &lt;span style="color:#a31515;"&gt;&amp;quot;pn&amp;quot;&lt;/span&gt;, Category = c };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(context.Products[&lt;span style="color:brown;"&gt;0&lt;/span&gt;], p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c.Id, p.CategoryID);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Categories.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, context.Categories[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c.Id, p.CategoryID);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p, c.Products[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Remove(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNull(p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNull(p.CategoryID);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Modified, p.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, p.ChangeTracker.ModifiedProperties.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#a31515;"&gt;&amp;quot;CategoryID&amp;quot;&lt;/span&gt;, p.ChangeTracker.ModifiedProperties[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;context.SaveChanges();      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Remove(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;}      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestAddViaCollection4()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { CategoryName = &lt;span style="color:#a31515;"&gt;&amp;quot;cn&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductName = &lt;span style="color:#a31515;"&gt;&amp;quot;pn&amp;quot;&lt;/span&gt;, Category = c };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Add(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(context.Products[&lt;span style="color:brown;"&gt;0&lt;/span&gt;], p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p.Category, c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p.CategoryID, c.Id);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Categories.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, context.Categories[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestAddViaCollection5()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;A&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; cd = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CustomerDemographic&lt;/span&gt;();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;c.CustomerDemographics.Add(cd);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.Attach(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Customers.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.CustomerDemographics.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, context.Customers[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(cd, context.CustomerDemographics[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, cd.Customers.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;ExpectedException&lt;/span&gt;(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;InvalidOperationException&lt;/span&gt;))]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestEntitySetAttachWithSameKey()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Attach(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;1&lt;/span&gt; });       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Attach(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;1&lt;/span&gt; });       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;ExpectedException&lt;/span&gt;(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;InvalidOperationException&lt;/span&gt;))]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestEntitySetAddWithSameKey()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;C&amp;quot;&lt;/span&gt; });       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;C&amp;quot;&lt;/span&gt; });       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestEntitySetAddWithSameKeyIdentity()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;0&lt;/span&gt; });       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;0&lt;/span&gt; });       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&amp;#160;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;ExpectedException&lt;/span&gt;(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;InvalidOperationException&lt;/span&gt;))]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestNavigationPropertyManyAttachWithSameKey()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; cd = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CustomerDemographic&lt;/span&gt; { CustomerTypeID = &lt;span style="color:#a31515;"&gt;&amp;quot;CD&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.CustomerDemographics.Attach(cd);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.Attach(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;C&amp;quot;&lt;/span&gt; });       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;cd.Customers.Attach(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;C&amp;quot;&lt;/span&gt; });       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;ExpectedException&lt;/span&gt;(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;InvalidOperationException&lt;/span&gt;))]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; TestNavigationPropertyManyAddWithSameKey()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; cd = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CustomerDemographic&lt;/span&gt; { CustomerTypeID = &lt;span style="color:#a31515;"&gt;&amp;quot;CD&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.CustomerDemographics.Attach(cd);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.Attach(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;C&amp;quot;&lt;/span&gt; });       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;cd.Customers.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;C&amp;quot;&lt;/span&gt; });       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; MultipleAddAttachOfSameObject()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;C&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.Add(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.Add(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Customers.Attach(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CustomerDemographic&lt;/span&gt; { CustomerTypeID = &lt;span style="color:#a31515;"&gt;&amp;quot;CD&amp;quot;&lt;/span&gt; }.Customers.Add(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Customers.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; MultipleRelationAddAttachOfSameObject()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt; { CustomerID = &lt;span style="color:#a31515;"&gt;&amp;quot;C&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; cd = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CustomerDemographic&lt;/span&gt; { CustomerTypeID = &lt;span style="color:#a31515;"&gt;&amp;quot;CD&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;c.CustomerDemographics.Add(cd);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;c.CustomerDemographics.Add(cd);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;c.CustomerDemographics.Attach(cd);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.CustomerDemographics.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, cd.Customers.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; DeleteCascade()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; o = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Order&lt;/span&gt;();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; od = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;OrderDetail&lt;/span&gt; { Order = o };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Detached, o.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Detached, od.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Orders.Add(o);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Added, o.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Added, od.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Orders.Remove(o);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Detached, o.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Detached, od.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&amp;#160;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; DeleteCascade2()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; o = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Order&lt;/span&gt;();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; od = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;OrderDetail&lt;/span&gt; { Order = o, Product = context.Products.AsQueryable().First(), Discount = &lt;span style="color:brown;"&gt;0&lt;/span&gt;, Quantity = &lt;span style="color:brown;"&gt;1&lt;/span&gt;, UnitPrice = &lt;span style="color:brown;"&gt;10&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;context.Orders.Add(o);      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:9.5pt;"&gt;var&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt; od2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;OrderDetail&lt;/span&gt; { Order = o };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Orders.Remove(o);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Deleted, o.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Deleted, od.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:#2b91af;"&gt;ObjectState&lt;/span&gt;.Detached, od2.ChangeTracker.State);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AttachRelationInLoad()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Attach(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { CategoryID = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Attach(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p, c.Products[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AttachRelationInLoad2()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Add(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { CategoryID = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Add(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p, c.Products[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AttachRelationInLoad3()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { CategoryID = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Attach(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Attach(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p, c.Products[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AttachRelationInLoad4()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { CategoryID = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Add(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Add(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p, c.Products[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AttachRelationInLoad5()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = context.Categories.AsQueryable().First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(context.Products.Where(p =&amp;gt; p.CategoryID == c.Id).Count(), c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; p &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Products.Where(p =&amp;gt; p.CategoryID == c.Id))       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:#2b91af;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;Assert&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;.IsTrue(c.Products.Contains(p));      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;}      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AttachRelationInLoad6()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = context.Categories.AsQueryable().First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(context.Products.Where(p =&amp;gt; p.CategoryID == c.Id).Count(), c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; p &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Products.Where(p =&amp;gt; p.CategoryID == c.Id))       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:#2b91af;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;Assert&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;.IsTrue(c.Products.Contains(p));      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;}      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AttachRelationInLoad7()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = context.Categories.AsQueryable().Include(&lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt;.PRODUCTS_NAME).First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(context.Products.Where(p =&amp;gt; p.CategoryID == c.Id).Count(), c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; p &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Products.Where(p =&amp;gt; p.CategoryID == c.Id))       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:#2b91af;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;Assert&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;.IsTrue(c.Products.Contains(p));      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;}      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AttachRelationInLoad8()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Attach(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c2 = context.Categories.AsQueryable().Include(&lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt;.PRODUCTS_NAME).First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, c2);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(context.Products.Where(p =&amp;gt; p.CategoryID == c.Id).Count(), c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; p &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Products.Where(p =&amp;gt; p.CategoryID == c.Id))       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:#2b91af;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;Assert&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;.IsTrue(c.Products.Contains(p));      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;}      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AttachRelationInLoad9()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { CategoryName = &lt;span style="color:#a31515;"&gt;&amp;quot;cn&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductName = &lt;span style="color:#a31515;"&gt;&amp;quot;pn&amp;quot;&lt;/span&gt;, Category = c };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Add(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; p2;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c2 = context2.Categories.AsQueryable().Include(&lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt;.PRODUCTS_NAME).Where(c3 =&amp;gt; c3.Id == c.Id).First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;p2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductName = &lt;span style="color:#a31515;"&gt;&amp;quot;pn2&amp;quot;&lt;/span&gt; };       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;c2.Products.Add(p2);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context2.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c4 = context.Categories.AsQueryable().Include(&lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt;.PRODUCTS_NAME).Where(c3 =&amp;gt; c3.Id == c.Id).First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, c4);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsTrue(c.Products.Contains(p));       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsFalse(c.Products.Contains(p2));       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p3 = c.Products.First(p4 =&amp;gt; p4.ProductID == p2.ProductID);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:#2b91af;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;Assert&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;.IsTrue(c.Products.Contains(p3));      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsTrue(context.Products.Contains(p3));       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;context.Products.Remove(p3);      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Remove(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Remove(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c.Id, p.CategoryID);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c.Id, p3.CategoryID);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.SaveChanges();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AttachRelationInLoad10()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = context.Products.AsQueryable().First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Orders.Attach(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Order&lt;/span&gt;());       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; od = context.OrderDetails.AsQueryable().Where(od2 =&amp;gt; od2.ProductID == p.ProductID).First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p2 = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; p3 &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Products.AsQueryable().Include(&lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt;.CATEGORY_NAME).Include(&lt;span style="color:blue;"&gt;string&lt;/span&gt;.Concat(&lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt;.ORDERDETAILS_NAME, &lt;span style="color:#a31515;"&gt;&amp;quot;.&amp;quot;&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;OrderDetail&lt;/span&gt;.ORDER_NAME))       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; p3.ProductID == p.ProductID       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; p3).First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p, p2);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNotNull(p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Categories.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p.OrderDetails.Count, context.OrderDetails.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; od2 &lt;span style="color:blue;"&gt;in&lt;/span&gt; p.OrderDetails)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNotNull(od2.Order);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p.OrderDetails.Select(od3 =&amp;gt; od3.Order).Distinct().Count() + &lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Orders.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, context.Orders.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;ExpectedException&lt;/span&gt;(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;InvalidOperationException&lt;/span&gt;))]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AddSameEntityInDifferentContext()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt;();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context1 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context1.Products.Add(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context2.Products.Add(p);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;ExpectedException&lt;/span&gt;(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;InvalidOperationException&lt;/span&gt;))]         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AddSameEntityFromServiceInDifferentContext()         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; p;         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context1 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;p = context1.Products.AsQueryable().First();         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context2.Products.Add(p);         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AddSameEntityInDifferentContextWithDispose()         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt;();         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context1 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context1.Products.Add(p);         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context2.Products.Add(p);         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}         &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;ExpectedException&lt;/span&gt;(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;InvalidOperationException&lt;/span&gt;))]        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AddSameEntityInDifferentContextWithDisposeAndConflicts()        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p1 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductID = &lt;span style="color:brown;"&gt;1&lt;/span&gt;, Category = c };        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductID = &lt;span style="color:brown;"&gt;2&lt;/span&gt; , CategoryID = &lt;span style="color:brown;"&gt;1&lt;/span&gt;};        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context1 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context1.Categories.Attach(c);        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context1.Products.Attach(p2);        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;2&lt;/span&gt;, context1.Products.Count);        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;2&lt;/span&gt;, c.Products.Count);        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p2.Category);        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p3 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { ProductID = &lt;span style="color:brown;"&gt;1&lt;/span&gt; , CategoryID = &lt;span style="color:brown;"&gt;1&lt;/span&gt;};        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context2.Products.Attach(p3);        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context2.Categories.Attach(c);        &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}        &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:9.5pt;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; LoadFromOneToMany()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = context.Categories.AsQueryable().First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, context.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; ps = c.LoadProducts();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, ps.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(ps.Count, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(ps.Count, context.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; p &lt;span style="color:blue;"&gt;in&lt;/span&gt; ps)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;ExpectedException&lt;/span&gt;(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;InvalidOperationException&lt;/span&gt;))]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; LoadFromOneToManyDetached()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; c;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;c = context.Categories.AsQueryable().First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; ps = c.LoadProducts();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; LoadFromManyToOne()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = context.Products.AsQueryable().First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNull(p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, context.Categories.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = p.LoadCategory();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNotNull(c);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Categories.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c.Products.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(p, c.Products[&lt;span style="color:brown;"&gt;0&lt;/span&gt;]);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; LoadFromManyToMany()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; cust &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Customers.AsQueryable()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; cust.CustomerID == &lt;span style="color:#a31515;"&gt;&amp;quot;VINET&amp;quot;        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; cust).First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, c.CustomerDemographics.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, context.CustomerDemographics.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;c.LoadCustomerDemographics();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, c.CustomerDemographics.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c.CustomerDemographics.Count, context.CustomerDemographics.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; LoadFromOneToOne()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = context.Customers.AsQueryable().First();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNull(c.Member);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, context.Members.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; m = c.LoadMember();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNotNull(c.Member);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Members.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, m.Customer);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; OfType()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; employeesInActivity = context.Employees.AsQueryable().OfType&amp;lt;&lt;span style="color:#2b91af;"&gt;EmployeeInActivity&lt;/span&gt;&amp;gt;().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(employeesInActivity.Count, context.Employees.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(employeesInActivity.Count, context.EmployeeInActivities.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, context.OutEmployees.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; AddIntoBaseEntitySet()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; firedEmployee = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;FiredEmployee&lt;/span&gt;();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Employees.Attach(firedEmployee);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.Employees.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.OutEmployees.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, context.FiredEmployees.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; GetAllEntitiesWithInheritance()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; l = context.Employees.AsQueryable().ToList();       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(l.Count, context.Employees.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(l.OfType&amp;lt;&lt;span style="color:#2b91af;"&gt;OutEmployee&lt;/span&gt;&amp;gt;().Count(), context.OutEmployees.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(l.OfType&amp;lt;&lt;span style="color:#2b91af;"&gt;FiredEmployee&lt;/span&gt;&amp;gt;().Count(), context.FiredEmployees.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreNotEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, context.FiredEmployees.Count);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:9.5pt;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;/span&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/p&gt; &lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Detach()     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Attach(c);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { CategoryID = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Attach(p);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c, p.Category);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Detach(c);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.IsNull(p.Category);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c.Id, p.CategoryID);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;TestMethod&lt;/span&gt;]     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; UpdateFK()     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;())     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c1 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Attach(c1);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; c2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt; { Id = &lt;span style="color:brown;"&gt;2&lt;/span&gt; };     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Categories.Attach(c2);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; p = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; { CategoryID = &lt;span style="color:brown;"&gt;1&lt;/span&gt; };     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;context.Products.Attach(p);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c1, p.Category);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c1.Products.Count);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;p.CategoryID = &lt;span style="color:brown;"&gt;2&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(c2, p.Category);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;0&lt;/span&gt;, c1.Products.Count);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Assert&lt;/span&gt;.AreEqual(&lt;span style="color:brown;"&gt;1&lt;/span&gt;, c2.Products.Count);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:9.5pt;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;}&lt;/span&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I used this EDM for my tests:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/0513.image_5F00_32005B30.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/1273.image_5F00_thumb_5F00_453DBF77.png" width="1385" height="929" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Moreover, with self-tracking default template the generated SQL update includes all columns even if only one property changed. With my implementation the update will contain only the modified column. Note that this is not true for complex types. If one complex type’s property changes, all the columns mapped on this complex type will be included in the update. It is an EF limitation. &lt;/p&gt;  &lt;p&gt;To realize it, I add a list of string ModifiedProperties in ObjectChangeTracker class (I update the self-tracking types T4 template). Then I also change the self-tracking context T4 template. I replace:&lt;/p&gt;  &lt;p&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:9.5pt;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;context.ObjectStateManager.ChangeObjectState(entity, &lt;span style="color:#2b91af;"&gt;EntityState&lt;/span&gt;.Modified);&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;by&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;context.ObjectStateManager.ChangeObjectState(entity, &lt;span style="color:#2b91af;"&gt;EntityState&lt;/span&gt;.Unchanged);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:9.5pt;"&gt;var&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt; ose = context.ObjectStateManager.GetObjectStateEntry(entity);      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt;ose.SetModified();      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:9.5pt;"&gt;foreach&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; propertyName &lt;span style="color:blue;"&gt;in&lt;/span&gt; entity.ChangeTracker.ModifiedProperties)&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:9.5pt;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;ose.SetModifiedProperty(propertyName);&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;If you want to learn more about my templates, I will speak about this for &lt;a href="http://www.microsoft.com/france/mstechdays/programmes/parcours.aspx?Key=&amp;amp;AUDIENCE=&amp;amp;PRODUIT=&amp;amp;LEVEL=&amp;amp;SpkID=84cffae7-0f58-4e65-9631-11f7b31ef9ff" target="_blank"&gt;next French Microsoft Tech Days in Paris&lt;/a&gt; and for the &lt;a href="http://confoo.ca/en/2010/session/entity-framework-que-du-bonheur" target="_blank"&gt;confoo in Montreal&lt;/a&gt; (also in French).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1745206" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/matthieu/archive/tags/.Net/default.aspx">.Net</category><category domain="http://msmvps.com/blogs/matthieu/archive/tags/Entity+Framework+_2800_EF_2900_/default.aspx">Entity Framework (EF)</category><category domain="http://msmvps.com/blogs/matthieu/archive/tags/Entity+Data+Model+_2800_EDM_2900_/default.aspx">Entity Data Model (EDM)</category><category domain="http://msmvps.com/blogs/matthieu/archive/tags/T4/default.aspx">T4</category></item><item><title>Data oriented WCF service Agile with EF4 and a “sort of” provider LINQ</title><link>http://msmvps.com/blogs/matthieu/archive/2009/11/24/data-oriented-wcf-service-agile-with-ef4-and-a-sort-of-provider-linq.aspx</link><pubDate>Wed, 25 Nov 2009 00:17:38 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1742036</guid><dc:creator>Matthieu MEZIL</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/matthieu/rsscomments.aspx?PostID=1742036</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/matthieu/commentapi.aspx?PostID=1742036</wfw:comment><comments>http://msmvps.com/blogs/matthieu/archive/2009/11/24/data-oriented-wcf-service-agile-with-ef4-and-a-sort-of-provider-linq.aspx#comments</comments><description>&lt;p&gt;I use a different approach than &lt;a href="http://thedatafarm.com/blog/data-access" target="_blank"&gt;Julie’s one&lt;/a&gt; for EF Agile development. Indeed, I use here Self-Tracking Entities and I massively use T4.&lt;/p&gt;  &lt;p&gt;The first step is to create a project DAL in which we will add an edmx. &lt;/p&gt;  &lt;p&gt;In my sample, I use Northwind DataBase with only the Customers, Orders and [Order Details] tables.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/0458.image_5F00_0215522E.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/6403.image_5F00_thumb_5F00_23A15532.png" width="608" height="420" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;When it’s done, we will add a new item of type ADO.NET Self-Tracking Entity Generator to our project.&lt;/p&gt;  &lt;p&gt;It will add two T4 templates to our project: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;one with entities + some classes and interfaces for Self-Tracking &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/2514.image_5F00_261A6123.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/6724.image_5F00_thumb_5F00_1EEAFEDE.png" width="1422" height="1216" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;one with the context + a static class with extension methods. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We will move our entities template into another project Entities.&lt;/p&gt;  &lt;p&gt;Then we have to add the Entities reference in our DAL project. We will also set the edmx path in our templates. &lt;/p&gt;  &lt;p&gt;Then, we will create a new project Repositories. In this project, we will define an interface INorthwindRepository.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/8461.image_5F00_1449DF24.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/2514.image_5F00_thumb_5F00_49FF247E.png" width="1145" height="612" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We can see the redundancy of INorthwindRepository. That’s why, in my sample, these interfaces (INorthwindRepository and IEntitySet) are also generated with a T4 template which uses my edmx. What is great here is the fact that if we change our data model (my edmx), we have no more code to write. We just have to regenerate all my T4 templates.&lt;/p&gt;  &lt;p&gt;Now, we will go back to my context. It has to implement INorthwindRepository. For this, we will update my T4 template to have this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/8877.image_5F00_2967BEFF.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/2117.image_5F00_thumb_5F00_59CE1DA8.png" width="1422" height="867" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For WCF, we need a contract. So I will add two new projects: Services and ServiceContracts (with T4).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/6724.image_5F00_6BF698D0.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/6215.image_5F00_thumb_5F00_7C2260C9.png" width="771" height="544" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/0451.image_5F00_755F3179.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/1512.image_5F00_thumb_5F00_712533E7.png" width="822" height="625" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So now, if you already have the T4 templates (which are independent of the project), you wrote 0 lines of code!&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;We can see the assemblies independence with EF (except for the DAL of course) :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/8877.image_5F00_71ED7404.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/4657.image_5F00_thumb_5F00_36B99839.png" width="308" height="1046" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I wanted to use &lt;a href="http://www.codeplex.com/unity/" target="_blank"&gt;Unity&lt;/a&gt;. To do it, I use &lt;a href="http://www.silverlightshow.net/items/Deep-dive-into-WCF-part-1-TDD.aspx" target="_blank"&gt;Alexey Zakharov approach&lt;/a&gt;. So I integrate his WCFFacility project and classes Bootstrapper and UnityServiceLocatorAdapter in my WCFService (web project host). After creating the svc and the config file, my service is finished!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now in the client tier, I wanted to use a “sort of” provider LINQ. For this, I inspired from &lt;a href="http://msmvps.com/blogs/matthieu/archive/2009/04/28/french-alt-net-demo.aspx" target="_blank"&gt;one of my old demo&lt;/a&gt; made for &lt;a href="http://www.altnetfr.org/" target="_blank"&gt;ALT.NET French community&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;We will create a Client.LINQ project in which we will define two classes: ClientLINQ and MyQueryable.&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-family:consolas;"&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ClientLINQ        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; Where&amp;lt;T&amp;gt;(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; source, &lt;span style="color:#2b91af;"&gt;Expression&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Func&lt;/span&gt;&amp;lt;T, &lt;span style="color:blue;"&gt;bool&lt;/span&gt;&amp;gt;&amp;gt; where)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;source.WhereValue = &lt;span style="color:blue;"&gt;string&lt;/span&gt;.Concat(source.WhereValue ?? &lt;span style="color:#a31515;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;, where.Body.ToString().Replace(&lt;span style="color:blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}.&amp;quot;&lt;/span&gt;, where.Parameters[&lt;span style="color:brown;"&gt;0&lt;/span&gt;].Name), &lt;span style="color:#a31515;"&gt;&amp;quot;it.&amp;quot;&lt;/span&gt;).Replace(&lt;span style="color:#a31515;"&gt;&amp;quot;\&amp;quot;&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;&amp;quot;&amp;#39;&amp;quot;&lt;/span&gt;).Replace(&lt;span style="color:#a31515;"&gt;&amp;quot;||&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;&amp;quot; OR &amp;quot;&lt;/span&gt;).Replace(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;amp;&amp;amp;&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;&amp;quot; AND &amp;quot;&lt;/span&gt;));       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;mso-ansi-language:fr;" lang="FR"&gt;return&lt;/span&gt;&lt;span style="font-family:consolas;mso-ansi-language:fr;" lang="FR"&gt; source;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-ansi-language:fr;" lang="FR"&gt;&lt;/span&gt;    &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt; &lt;/p&gt; &lt;span style="font-family:consolas;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; OrderBy&amp;lt;T, T2&amp;gt;(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; source, &lt;span style="color:#2b91af;"&gt;Expression&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Func&lt;/span&gt;&amp;lt;T, T2&amp;gt;&amp;gt; orderBy)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-ansi-language:fr;" lang="FR"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;{    &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;source.OrderByValue = orderBy.Body.ToString().Replace(&lt;span style="color:blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}.&amp;quot;&lt;/span&gt;, orderBy.Parameters[&lt;span style="color:brown;"&gt;0&lt;/span&gt;].Name), &lt;span style="color:#a31515;"&gt;&amp;quot;it.&amp;quot;&lt;/span&gt;);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; source;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;   &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt; &lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; Include&amp;lt;T&amp;gt;(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; source, &lt;span style="color:blue;"&gt;string&lt;/span&gt; include)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;source.IncludeValues.Add(include);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; source;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;   &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt; &lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; Skip&amp;lt;T&amp;gt;(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; source, &lt;span style="color:blue;"&gt;int&lt;/span&gt; number)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;source.SkipValue = number;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; source;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;   &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt; &lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; Take&amp;lt;T&amp;gt;(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; source, &lt;span style="color:blue;"&gt;int&lt;/span&gt; number)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;source.TakeValue = number;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; source;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;   &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt; &lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; T FirstOrDefault&amp;lt;T&amp;gt;(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; source)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;source.TakeValue = &lt;span style="color:brown;"&gt;1&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; source.AsEnumerable().FirstOrDefault();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;   &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt; &lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; T First&amp;lt;T&amp;gt;(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; source)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;source.TakeValue = &lt;span style="color:brown;"&gt;1&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; source.AsEnumerable().First();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;   &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt; &lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; ToMyQueryable&amp;lt;T&amp;gt;(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;T&amp;gt; source)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; value = source &lt;span style="color:blue;"&gt;as&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (value == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;value = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt;(source);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; value;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;}&lt;/span&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-family:consolas;"&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;T&amp;gt; : &lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;T&amp;gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; MyQueryable()       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; MyQueryable(&lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;T&amp;gt; enumerable)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Enumerable = enumerable;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;/span&gt;    &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt; &lt;/p&gt; &lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;T&amp;gt; Enumerable { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;   &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt; &lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IEnumerator&lt;/span&gt;&amp;lt;T&amp;gt; GetEnumerator()     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; Enumerable.GetEnumerator();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;System.Collections.&lt;span style="color:#2b91af;"&gt;IEnumerator&lt;/span&gt; System.Collections.&lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;.GetEnumerator()     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; GetEnumerator();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;   &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt; &lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; _allEntities = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; AllEntities     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; _allEntities; }     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;internal&lt;/span&gt; &lt;span style="color:blue;"&gt;set      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_allEntities = &lt;span style="color:blue;"&gt;value&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (&lt;span style="color:blue;"&gt;value&lt;/span&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;IncludeValues.Clear();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;WhereValue = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;OrderByValue = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;SkipValue = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;TakeValue = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ObservableCollection&lt;/span&gt;&amp;lt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&amp;gt; _includeValues;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ObservableCollection&lt;/span&gt;&amp;lt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&amp;gt; IncludeValues     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;get      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (_includeValues == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_includeValues = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ObservableCollection&lt;/span&gt;&amp;lt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&amp;gt;();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_includeValues.CollectionChanged += (sender, e) =&amp;gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (e.Action == &lt;span style="color:#2b91af;"&gt;NotifyCollectionChangedAction&lt;/span&gt;.Add)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;AllEntities = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;};     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; _includeValues;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; _whereValue;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; WhereValue     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; _whereValue; }     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;internal&lt;/span&gt; &lt;span style="color:blue;"&gt;set      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (&lt;span style="color:blue;"&gt;value&lt;/span&gt; != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;AllEntities = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_whereValue = &lt;span style="color:blue;"&gt;value&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; _orderByValue;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; OrderByValue     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; _orderByValue; }     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;internal&lt;/span&gt; &lt;span style="color:blue;"&gt;set      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (&lt;span style="color:blue;"&gt;value&lt;/span&gt; != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;AllEntities = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_orderByValue = &lt;span style="color:blue;"&gt;value&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt;? _skipValue;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt;? SkipValue&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; _skipValue; }     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;internal&lt;/span&gt; &lt;span style="color:blue;"&gt;set      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (&lt;span style="color:blue;"&gt;value&lt;/span&gt;.HasValue)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;AllEntities = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_skipValue = &lt;span style="color:blue;"&gt;value&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt;? _takeValue;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt;? TakeValue&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; _takeValue; }     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;internal&lt;/span&gt; &lt;span style="color:blue;"&gt;set      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (&lt;span style="color:blue;"&gt;value&lt;/span&gt;.HasValue)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;AllEntities = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_takeValue = &lt;span style="color:blue;"&gt;value&lt;/span&gt;;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;}    &lt;p&gt;&lt;/p&gt; &lt;/span&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Then, we will create our client project (a Test project in my sample). In this project, I add Entities project and Client.LINQ references. Client.LINQ is not mandatory. I can also duplicate my entities code but in order to have Self-Tracking, I can’t use the default generated code. Then, we will add the WCF service reference. To use my “sort of” provider LINQ, I need some MyQueryable of my entities. Here also, (I hope that you guess it), we can use a T4 template.&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-family:consolas;"&gt; &lt;span style="color:blue;"&gt;partial&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;{&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;INorthwindService&lt;/span&gt; _service;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; NorthwindClientContext(&lt;span style="color:#2b91af;"&gt;INorthwindService&lt;/span&gt; service)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_service = service;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt;&amp;gt; Customers     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;get      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; value = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt;&amp;gt;();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;value.Enumerable = GetCustomers(value);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; value;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt;&amp;gt; GetCustomers(&lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt;&amp;gt; myQueryable)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Customer&lt;/span&gt;&amp;gt; value;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (myQueryable.AllEntities)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;value = _service.GetAllCustomers();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;else      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;value = _service.GetCustomers(myQueryable.IncludeValues.ToList(), myQueryable.WhereValue, myQueryable.OrderByValue, myQueryable.SkipValue, myQueryable.TakeValue);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; entity &lt;span style="color:blue;"&gt;in&lt;/span&gt; value)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;yield&lt;/span&gt; &lt;span style="color:blue;"&gt;return&lt;/span&gt; entity;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Order&lt;/span&gt;&amp;gt; Orders     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;get      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; value = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Order&lt;/span&gt;&amp;gt;();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;value.Enumerable = GetOrders(value);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; value;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Order&lt;/span&gt;&amp;gt; GetOrders(&lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Order&lt;/span&gt;&amp;gt; myQueryable)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Order&lt;/span&gt;&amp;gt; value;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (myQueryable.AllEntities)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;value = _service.GetAllOrders();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;else      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;value = _service.GetOrders(myQueryable.IncludeValues.ToList(), myQueryable.WhereValue, myQueryable.OrderByValue, myQueryable.SkipValue, myQueryable.TakeValue);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; entity &lt;span style="color:blue;"&gt;in&lt;/span&gt; value)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;yield&lt;/span&gt; &lt;span style="color:blue;"&gt;return&lt;/span&gt; entity;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;    &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;OrderDetail&lt;/span&gt;&amp;gt; OrderDetails     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;get      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; value = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;OrderDetail&lt;/span&gt;&amp;gt;();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;value.Enumerable = GetOrderDetails(value);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; value;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;OrderDetail&lt;/span&gt;&amp;gt; GetOrderDetails(&lt;span style="color:#2b91af;"&gt;MyQueryable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;OrderDetail&lt;/span&gt;&amp;gt; myQueryable)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;OrderDetail&lt;/span&gt;&amp;gt; value;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (myQueryable.AllEntities)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;value = _service.GetAllOrderDetails();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;else      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;value = _service.GetOrderDetails(myQueryable.IncludeValues.ToList(), myQueryable.WhereValue, myQueryable.OrderByValue, myQueryable.SkipValue, myQueryable.TakeValue);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; entity &lt;span style="color:blue;"&gt;in&lt;/span&gt; value)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;yield&lt;/span&gt; &lt;span style="color:blue;"&gt;return&lt;/span&gt; entity;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;}    &lt;p&gt;&lt;/p&gt; &lt;/span&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The use of the yield return will postpone the execution and allow MyQueryable properties to be set when GetCustomers / GetOrders / GetOrderDetails methods are called.&lt;/p&gt;  &lt;p&gt;So the following code:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;mso-bidi-font-size:9.5pt;"&gt;var&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt; order = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; o &lt;span style="color:blue;"&gt;in&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;(service).Orders.Include(&lt;span style="color:#a31515;"&gt;&amp;quot;Customer&amp;quot;&lt;/span&gt;).Include(&lt;span style="color:#a31515;"&gt;&amp;quot;OrderDetails&amp;quot;&lt;/span&gt;)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; o.ShipCity == &lt;span style="color:#a31515;"&gt;&amp;quot;PARIS&amp;quot;        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;orderby&lt;/span&gt; o.OrderDate       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; o).Skip(&lt;span style="color:brown;"&gt;2&lt;/span&gt;).First(); &lt;/span&gt;    &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;will call this method &lt;/p&gt;  &lt;p&gt;_service.GetOrders(myQueryable.IncludeValues.ToList(), myQueryable.WhereValue, myQueryable.OrderByValue, myQueryable.SkipValue, myQueryable.TakeValue)&lt;/p&gt;  &lt;p&gt;with these parameters:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/0447.image_5F00_7A1173CE.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/0844.image_5F00_thumb_5F00_4C43AB09.png" width="414" height="190" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;wich will generate the following SQL query:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;SELECT&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CustomerID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[EmployeeID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [EmployeeID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[RequiredDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [RequiredDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShippedDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShippedDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipVia] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipVia]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Freight] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Freight]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipName]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipAddress] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipAddress]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCity] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCity]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipRegion] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipRegion]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipPostalCode] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipPostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCountry] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCountry]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID1] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CustomerID1]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CompanyName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CompanyName]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ContactName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ContactName]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ContactTitle] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ContactTitle]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Address] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Address]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[City] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [City]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Region] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Region]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[PostalCode] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [PostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Country] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Country]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Phone] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Phone]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Fax] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Fax]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[C1] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [C1]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID1] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderID1]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ProductID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ProductID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[UnitPrice] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [UnitPrice]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Quantity] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Quantity]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Discount] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Discount]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;FROM &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:gray;font-size:10pt;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID1] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CustomerID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[EmployeeID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [EmployeeID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[RequiredDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [RequiredDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShippedDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShippedDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipVia] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipVia]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Freight] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Freight]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipName]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipAddress] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipAddress]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCity] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCity]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipRegion] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipRegion]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipPostalCode] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipPostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCountry] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCountry]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID2] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CustomerID1]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CompanyName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CompanyName]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ContactName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ContactName]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ContactTitle] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ContactTitle]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Address] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Address]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[City] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [City]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Region] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Region]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[PostalCode] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [PostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Country] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Country]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Phone] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Phone]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Fax] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Fax]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Extent3]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderID1]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Extent3]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ProductID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ProductID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Extent3]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[UnitPrice] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [UnitPrice]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Extent3]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Quantity] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Quantity]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[Extent3]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Discount] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Discount]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;CASE&lt;/span&gt; &lt;span style="color:blue;"&gt;WHEN &lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;[Extent3]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID] &lt;span style="color:gray;"&gt;IS&lt;/span&gt; &lt;span style="color:gray;"&gt;NULL)&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt; &lt;span style="color:fuchsia;"&gt;CAST&lt;/span&gt;&lt;span style="color:gray;"&gt;(NULL&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt;&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;ELSE&lt;/span&gt; 1 &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [C1]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;FROM&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:blue;"&gt;TOP &lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;1&lt;span style="color:gray;"&gt;)&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID1]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[EmployeeID]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[RequiredDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShippedDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipVia]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Freight]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipName]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipAddress]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCity]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipRegion]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipPostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCountry]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID2]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CompanyName]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ContactName]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ContactTitle]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Address]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[City]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Region]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[PostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Country]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Phone]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Fax]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;FROM &lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderID]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CustomerID1]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[EmployeeID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [EmployeeID]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[RequiredDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [RequiredDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShippedDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShippedDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipVia] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipVia]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Freight] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Freight]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipName]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipAddress] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipAddress]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCity] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCity]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipRegion] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipRegion]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipPostalCode] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipPostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCountry] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCountry]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CustomerID2]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CompanyName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CompanyName]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ContactName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ContactName]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ContactTitle] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ContactTitle]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Address] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Address]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[City] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [City]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Region] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Region]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[PostalCode] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [PostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Country] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Country]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Phone] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Phone]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Fax] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Fax]&lt;span style="color:gray;"&gt;,&lt;/span&gt; &lt;span style="color:fuchsia;"&gt;row_number&lt;/span&gt;&lt;span style="color:gray;"&gt;()&lt;/span&gt; &lt;span style="color:blue;"&gt;OVER &lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;ORDER&lt;/span&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;ASC&lt;/span&gt;&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [row_number]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;[dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Orders] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Extent1]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:gray;"&gt;LEFT&lt;/span&gt; &lt;span style="color:gray;"&gt;OUTER&lt;/span&gt; &lt;span style="color:gray;"&gt;JOIN&lt;/span&gt; [dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Customers] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Extent2] &lt;span style="color:blue;"&gt;ON&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID] &lt;span style="color:gray;"&gt;=&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCity] &lt;span style="color:gray;"&gt;=&lt;/span&gt; &lt;span style="color:red;"&gt;&amp;#39;PARIS&amp;#39;        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:gray;"&gt;)&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Filter1]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[row_number] &lt;span style="color:gray;"&gt;&amp;gt;&lt;/span&gt; 2       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:2;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;ORDER&lt;/span&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;ASC&lt;/span&gt; &lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Limit1]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:gray;"&gt;LEFT&lt;/span&gt; &lt;span style="color:gray;"&gt;OUTER&lt;/span&gt; &lt;span style="color:gray;"&gt;JOIN&lt;/span&gt; [dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Order Details] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Extent3] &lt;span style="color:blue;"&gt;ON&lt;/span&gt; [Limit1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID] &lt;span style="color:gray;"&gt;=&lt;/span&gt; [Extent3]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:gray;font-size:10pt;mso-no-proof:yes;"&gt;)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Project1] &lt;/span&gt;    &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;mso-no-proof:yes;"&gt;ORDER&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; [Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;ASC&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID] &lt;span style="color:blue;"&gt;ASC&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID1] &lt;span style="color:blue;"&gt;ASC&lt;/span&gt;&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Project1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[C1] &lt;span style="color:blue;"&gt;ASC&lt;/span&gt;&lt;/span&gt;   &lt;p&gt;If we comment the Include, the SQL query is more readable &lt;img src="http://msmvps.com/emoticons/emotion-1.gif" alt="Smile" /&gt; :&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;SELECT&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;TOP &lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;1&lt;span style="color:gray;"&gt;)&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CustomerID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[EmployeeID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [EmployeeID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[RequiredDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [RequiredDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShippedDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShippedDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipVia] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipVia]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Freight] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Freight]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipName]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipAddress] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipAddress]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCity] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCity]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipRegion] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipRegion]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipPostalCode] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipPostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCountry] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCountry]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;FROM &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:gray;font-size:10pt;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderID]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CustomerID]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[EmployeeID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [EmployeeID]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[RequiredDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [RequiredDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShippedDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShippedDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipVia] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipVia]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Freight] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Freight]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipName]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipAddress] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipAddress]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCity] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCity]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipRegion] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipRegion]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipPostalCode] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipPostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCountry] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCountry]&lt;span style="color:gray;"&gt;,&lt;/span&gt; &lt;span style="color:fuchsia;"&gt;row_number&lt;/span&gt;&lt;span style="color:gray;"&gt;()&lt;/span&gt; &lt;span style="color:blue;"&gt;OVER &lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;ORDER&lt;/span&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;ASC&lt;/span&gt;&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [row_number]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt; [dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Orders] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Extent1]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCity] &lt;span style="color:gray;"&gt;=&lt;/span&gt; &lt;span style="color:red;"&gt;&amp;#39;PARIS&amp;#39;        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:gray;font-size:10pt;mso-no-proof:yes;"&gt;)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Filter1]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;WHERE&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[row_number] &lt;span style="color:gray;"&gt;&amp;gt;&lt;/span&gt; 2 &lt;/span&gt;    &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;mso-no-proof:yes;"&gt;ORDER&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:en-us;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-fareast-language:en-us;mso-bidi-language:ar-sa;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; [Filter1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;ASC&lt;/span&gt;&lt;/span&gt;   &lt;p&gt;We can find our WHERE City = ‘Paris’, our WHERE row_number &amp;gt; 2 (for the Skip), out ORDER BY OrderDate and our TOP&amp;#160; 1 (for the First).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Take care, this “sort of” provider LINQ is a POC. It is not finished. For example, it doesn’t support variables or the new operator (for date for example). &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;What happens if we integrate methods non supported by ClientLINQ?&lt;/p&gt;  &lt;p&gt;It’s ok! &lt;img src="http://msmvps.com/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;  &lt;p&gt;LINQ To Object will be used.&lt;/p&gt;  &lt;p&gt;For example, the following LINQ query:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:consolas;color:blue;mso-ansi-language:en;mso-bidi-font-size:9.5pt;" lang="EN"&gt;var&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;mso-ansi-language:en;mso-bidi-font-size:9.5pt;" lang="EN"&gt; customerInfos = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; o &lt;span style="color:blue;"&gt;in&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NorthwindClientContext&lt;/span&gt;(service).Orders.Include(&lt;span style="color:#a31515;"&gt;&amp;quot;Customer&amp;quot;&lt;/span&gt;)       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; o.ShipCity == &lt;span style="color:#a31515;"&gt;&amp;quot;PARIS&amp;quot;        &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;orderby&lt;/span&gt; o.OrderDate       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;group&lt;/span&gt; o &lt;span style="color:blue;"&gt;by&lt;/span&gt; o.Customer &lt;span style="color:blue;"&gt;into&lt;/span&gt; g&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; { g.Key.CompanyName, g.Key.ContactName, OrdersCount = g.Count() }).ToList();&lt;/span&gt;    &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;p&gt;will call this method &lt;/p&gt;  &lt;p&gt;_service.GetOrders(myQueryable.IncludeValues.ToList(), myQueryable.WhereValue, myQueryable.OrderByValue, myQueryable.SkipValue, myQueryable.TakeValue)&lt;/p&gt;  &lt;p&gt;with these parameters:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/2117.image_5F00_02D1564E.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/matthieu.metablogapi/3107.image_5F00_thumb_5F00_13D58431.png" width="412" height="164" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;which will generate the following SQL query:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;SELECT&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CustomerID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[EmployeeID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [EmployeeID]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [OrderDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[RequiredDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [RequiredDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShippedDate] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShippedDate]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipVia] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipVia]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Freight] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Freight]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipName]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipAddress] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipAddress]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCity] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCity]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipRegion] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipRegion]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipPostalCode] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipPostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCountry] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ShipCountry]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CustomerID1]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CompanyName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [CompanyName]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ContactName] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ContactName]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ContactTitle] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [ContactTitle]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Address] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Address]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[City] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [City]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Region] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Region]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[PostalCode] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [PostalCode]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Country] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Country]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Phone] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Phone]&lt;span style="color:gray;"&gt;,&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Fax] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Fax]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;FROM&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;[dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Orders] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Extent1]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:gray;font-size:10pt;mso-no-proof:yes;"&gt;LEFT&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:gray;"&gt;OUTER&lt;/span&gt; &lt;span style="color:gray;"&gt;JOIN&lt;/span&gt; [dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Customers] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Extent2] &lt;span style="color:blue;"&gt;ON&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID] &lt;span style="color:gray;"&gt;=&lt;/span&gt; [Extent2]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[CustomerID]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;WHERE&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ShipCity] &lt;span style="color:gray;"&gt;=&lt;/span&gt; &lt;span style="color:red;"&gt;&amp;#39;PARIS&amp;#39;        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;ORDER&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[OrderDate] &lt;span style="color:blue;"&gt;ASC&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:9.5pt;"&gt; &lt;/span&gt;    &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;As you can see, no trace of group by. However, the result integrates it (with LINQ To Object).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In this post, I wanted to present my “sort of&amp;#39;” LINQ provider but the real goal of this post is to persuade you (and I’m sure you are &lt;img src="http://msmvps.com/emoticons/emotion-1.gif" alt="Smile" /&gt;) of the EF / T4 couple productivity gain. Indeed, &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;your templates are reusable in different projects. You just have to update the edmx path and to let Visual Studio regenerate T4 templates code. &lt;/li&gt;    &lt;li&gt;If you haven&amp;#39;t already written the template you need, the dev time is not proportional to the number of entities which implies very quickly a productivity gain compare to a “classic” dev. &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1742036" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/matthieu/archive/tags/.Net/default.aspx">.Net</category><category domain="http://msmvps.com/blogs/matthieu/archive/tags/Entity+Framework+_2800_EF_2900_/default.aspx">Entity Framework (EF)</category><category domain="http://msmvps.com/blogs/matthieu/archive/tags/Entity+Data+Model+_2800_EDM_2900_/default.aspx">Entity Data Model (EDM)</category><category domain="http://msmvps.com/blogs/matthieu/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://msmvps.com/blogs/matthieu/archive/tags/T4/default.aspx">T4</category><category domain="http://msmvps.com/blogs/matthieu/archive/tags/TDD/default.aspx">TDD</category><category domain="http://msmvps.com/blogs/matthieu/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>4 in 1: EF won’t fire DBAs, Velocity, SQL CLR and SQL Dependency</title><link>http://msmvps.com/blogs/matthieu/archive/2009/11/21/4-in-1-ef-won-t-fire-dbas-velocity-sql-clr-and-sql-dependency.aspx</link><pubDate>Sat, 21 Nov 2009 15:42:16 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1741356</guid><dc:creator>Matthieu MEZIL</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/matthieu/rsscomments.aspx?PostID=1741356</wfw:commentRss><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/matthieu/commentapi.aspx?PostID=1741356</wfw:comment><comments>http://msmvps.com/blogs/matthieu/archive/2009/11/21/4-in-1-ef-won-t-fire-dbas-velocity-sql-clr-and-sql-dependency.aspx#comments</comments><description>&lt;p&gt;Imagine that we have a table Cars with a PK Id (nvarchar(8)) based on the following regex pattern [1-9][0-9]{1,2}[A-Z]{2,3}[0-9]{2}. The last two numbers are a region code.&lt;/p&gt;  &lt;p&gt;The increasement is done like this: 10AA[region], 11AA[region], …, 999AA[region], 10AB[region], …, 999ZZ[region], 10AAA[region], …, 999ZZZ[region]&lt;/p&gt;  &lt;p&gt;This table can be huge.&lt;/p&gt;  &lt;p&gt;In a first time, we will write a LINQ To Entities query to get regions with 3 letters:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt;var&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt; q1 = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Cars       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; c.Id.Contains(&lt;span style="color:#a31515;"&gt;&amp;quot;AAA&amp;quot;&lt;/span&gt;)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c.Id.Substring(c.Id.Length - &lt;span style="color:brown;"&gt;2&lt;/span&gt;)).Distinct();       &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;The SQL generated query is the following:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;SELECT&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Distinct1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[C1] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [C1]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;FROM &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:gray;font-size:10pt;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:blue;"&gt;DISTINCT&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:fuchsia;"&gt;SUBSTRING&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ Id ]&lt;span style="color:gray;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;((&lt;/span&gt;&lt;span style="color:fuchsia;"&gt;LEN&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ Id ]&lt;span style="color:gray;"&gt;))&lt;/span&gt; &lt;span style="color:gray;"&gt;-&lt;/span&gt; 2&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:gray;"&gt;+&lt;/span&gt; 1&lt;span style="color:gray;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:fuchsia;"&gt;LEN&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ Id ]&lt;span style="color:gray;"&gt;))&lt;/span&gt; &lt;span style="color:gray;"&gt;-&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;((&lt;/span&gt;&lt;span style="color:fuchsia;"&gt;LEN&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ Id ]&lt;span style="color:gray;"&gt;))&lt;/span&gt; &lt;span style="color:gray;"&gt;-&lt;/span&gt; 2&lt;span style="color:gray;"&gt;))&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [C1]     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt; [dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Cars] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Extent1]     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ Id ] &lt;span style="color:gray;"&gt;LIKE&lt;/span&gt; &lt;span style="color:red;"&gt;N&amp;#39;%AAA%&amp;#39;      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:gray;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;)&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Distinct1]&lt;/span&gt;   &lt;p&gt;If I write it myself, I would probably write this:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;SELECT&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;DISTINCT&lt;/span&gt;       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:gray;"&gt;RIGHT(&lt;/span&gt;Id&lt;span style="color:gray;"&gt;,&lt;/span&gt; 2&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [C1]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt; [Cars]       &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt; [ Id ] &lt;span style="color:gray;"&gt;LIKE&lt;/span&gt; &lt;span style="color:red;"&gt;N&amp;#39;%AAA%&amp;#39;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;Note that the execution plan is the same!&lt;/p&gt;  &lt;p&gt;Imagine that the DBA wants that I use the RIGHT function. With EF4, we can do it.&lt;/p&gt;  &lt;p&gt;The Right doesn’t exist in C# but it does in ESQL. So we will use CSDL Functions.&lt;/p&gt;  &lt;p&gt;In the CSDL, we will add the following code:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:consolas;color:#a31515;font-size:11pt;"&gt;Function&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt; &lt;/span&gt;&lt;span style="font-family:consolas;color:red;font-size:11pt;"&gt;Name&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&amp;quot;&lt;span style="color:blue;"&gt;GetRegion&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;ReturnType&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;String&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:consolas;color:#a31515;font-size:11pt;"&gt;Parameter&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt; &lt;/span&gt;&lt;span style="font-family:consolas;color:red;font-size:11pt;"&gt;Name&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt;=&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&amp;quot;&lt;span style="color:blue;"&gt;car&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;Type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Self.Car&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; /&amp;gt;        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:consolas;color:#a31515;font-size:11pt;"&gt;DefiningExpression&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt;&amp;gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Right(car.Id, 2)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-family:consolas;color:#a31515;font-size:11pt;"&gt;DefiningExpression&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt;&amp;gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;color:blue;font-size:11pt;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;color:#a31515;font-size:11pt;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;Function&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;color:blue;font-size:11pt;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&amp;gt;&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;Then,we will add an extension method to be able to use it in our LINQ To Entities queries:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt;public&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CarExtension        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;EdmFunction&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;CarsModel&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;&amp;quot;GetRegion&amp;quot;&lt;/span&gt;)]&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; GetRegion(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Car&lt;/span&gt; car)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;throw&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NotImplementedException&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;Only used by LINQ To Entities&amp;quot;&lt;/span&gt;);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:11pt;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;}&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;I now can write my query like this:&lt;/p&gt; &lt;span style="font-family:consolas;color:blue;font-size:11pt;"&gt;var&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt; q1 = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Cars     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; c.Id.Contains(&lt;span style="color:#a31515;"&gt;&amp;quot;AAA&amp;quot;&lt;/span&gt;)     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c.GetRegion()).Distinct();     &lt;br /&gt;&lt;/span&gt;  &lt;p&gt;This LINQ query is translated as the following SQL query:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;SELECT&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[Distinct1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[C1] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [C1] &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;FROM &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:gray;font-size:10pt;mso-no-proof:yes;"&gt;(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:blue;"&gt;DISTINCT&lt;/span&gt; &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:gray;"&gt;RIGHT(&lt;/span&gt;[Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ Id ]&lt;span style="color:gray;"&gt;,&lt;/span&gt; 2&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [C1] &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt; [dbo]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[Cars] &lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Extent1] &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt; [Extent1]&lt;span style="color:gray;"&gt;.&lt;/span&gt;[ Id ] &lt;span style="color:gray;"&gt;LIKE&lt;/span&gt; &lt;span style="color:red;"&gt;N&amp;#39;%AAA%&amp;#39; &lt;/span&gt;&lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:gray;font-size:10pt;mso-no-proof:yes;"&gt;)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;AS&lt;/span&gt; [Distinct1]&lt;/span&gt;&lt;span style="font-family:consolas;font-size:11pt;"&gt; &lt;/span&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Cool!&lt;/p&gt;  &lt;p&gt;Now I want to get the last Id per region. I don’t think that there is a clean way to do it with SQL. Indeed, I don’t think that we can use Regex in SQL Server and we need it to determine which is the last id.&lt;/p&gt;  &lt;p&gt;So to do this, I will use a LINQ To Object query. The “normal” way can be to write this:&lt;/p&gt; &lt;span style="line-height:115%;font-family:consolas;color:blue;font-size:11pt;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en;mso-fareast-language:en-us;mso-bidi-language:ar-sa;" lang="EN"&gt;var&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:11pt;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en;mso-fareast-language:en-us;mso-bidi-language:ar-sa;" lang="EN"&gt; qL2E = &lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Cars     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;orderby&lt;/span&gt; c.GetRegion()     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c.Id;     &lt;br /&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; qL2O = &lt;span style="color:blue;"&gt;from&lt;/span&gt; id &lt;span style="color:blue;"&gt;in&lt;/span&gt; qL2E.AsEnumerable()     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;group&lt;/span&gt; id &lt;span style="color:blue;"&gt;by&lt;/span&gt; id.Substring(id.Length - &lt;span style="color:brown;"&gt;2&lt;/span&gt;) &lt;span style="color:blue;"&gt;into&lt;/span&gt; g     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; &lt;span style="color:blue;"&gt;new      &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Region = g.Key,     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Id = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; id &lt;span style="color:blue;"&gt;in&lt;/span&gt; g     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;let&lt;/span&gt; letters = &lt;span style="color:#2b91af;"&gt;Regex&lt;/span&gt;.Match(id, &lt;span style="color:#a31515;"&gt;&amp;quot;[A-Z]{2,3}&amp;quot;&lt;/span&gt;)     &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;orderby&lt;/span&gt; letters.Length &lt;span style="color:blue;"&gt;descending&lt;/span&gt;, letters &lt;span style="color:blue;"&gt;descending&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;Regex&lt;/span&gt;.Match(id, &lt;span style="color:#a31515;"&gt;&amp;quot;^[0-9]{2,3}&amp;quot;&lt;/span&gt;) &lt;span style="color:blue;"&gt;descending      &lt;br /&gt;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; id).FirstOrDefault()     &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:11pt;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}.ToDictionary(id =&amp;gt; id.Region, id =&amp;gt; id.Id);&lt;/span&gt;   &lt;p&gt;However, with this way, we will probably have an OutOfMemoryException. Indeed, with this query, all the Cars records are loaded in memory and we can have hundreds millions of rows.&lt;/p&gt;  &lt;p&gt;In a first time, we will try a dichotomous approach. &lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;"&gt;var&lt;/span&gt;&lt;span style="font-family:consolas;"&gt; ids = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Cars &lt;/span&gt;    &lt;br /&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:11pt;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c.GetRegion()).Distinct().AsEnumerable().ToDictionary(region =&amp;gt; region, region =&amp;gt; GetLastId(region, &lt;span style="color:#a31515;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;, (&lt;span style="color:blue;"&gt;new&lt;/span&gt;[] { &lt;span style="color:#a31515;"&gt;&amp;quot;&amp;quot;&lt;/span&gt; }.Union(&lt;span style="color:#2b91af;"&gt;Enumerable&lt;/span&gt;.Range(&lt;span style="color:#a31515;"&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, &lt;span style="color:brown;"&gt;26&lt;/span&gt;).Select(i =&amp;gt; &lt;span style="color:blue;"&gt;char&lt;/span&gt;.ConvertFromUtf32(i)))), &lt;span style="color:brown;"&gt;0&lt;/span&gt;));&lt;/span&gt;     &lt;br /&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;color:blue;"&gt;private&lt;/span&gt;&lt;span style="font-family:consolas;"&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; GetLastId(&lt;span style="color:blue;"&gt;string&lt;/span&gt; region, &lt;span style="color:blue;"&gt;string&lt;/span&gt; letters, &lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;&amp;gt; possibleChars, &lt;span style="color:blue;"&gt;int&lt;/span&gt; index) &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;{ &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (!possibleChars.Skip(&lt;span style="color:brown;"&gt;1&lt;/span&gt;).Any()) &lt;span style="color:green;"&gt;// Count() == 1 &lt;/span&gt;&lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{ &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;letters += possibleChars.First(); &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (++index == &lt;span style="color:brown;"&gt;3&lt;/span&gt;) &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{ &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CarsContainer&lt;/span&gt;()) &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{ &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return &lt;/span&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;(&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Cars &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; c.Id.EndsWith(letters + region) &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;orderby&lt;/span&gt; c.Id.IndexOf(letters) &lt;span style="color:blue;"&gt;descending&lt;/span&gt;, c.Id &lt;span style="color:blue;"&gt;descending &lt;/span&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c.Id).FirstOrDefault(); &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;} &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;} &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; GetLastId(region, letters, &lt;span style="color:#2b91af;"&gt;Enumerable&lt;/span&gt;.Range(&lt;span style="color:#a31515;"&gt;&amp;#39;A&amp;#39;&lt;/span&gt;, &lt;span style="color:brown;"&gt;26&lt;/span&gt;).Select(i =&amp;gt; &lt;span style="color:blue;"&gt;char&lt;/span&gt;.ConvertFromUtf32(i)), index); &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;} &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;else &lt;/span&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{ &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; possibleCharsList = possibleChars.ToList(); &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; middle = possibleCharsList.Count / &lt;span style="color:brown;"&gt;2&lt;/span&gt;; &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CarsContainer&lt;/span&gt;()) &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{ &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; idBeginning = &lt;span style="color:blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#a31515;"&gt;&amp;quot;10{0}{1}{2}&amp;quot;&lt;/span&gt;, letters, possibleCharsList[middle], &lt;span style="color:#a31515;"&gt;&amp;quot;AA&amp;quot;&lt;/span&gt;.Substring(index)); &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; ((&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Cars &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; c.Id.StartsWith(idBeginning) &amp;amp;&amp;amp; c.Id.EndsWith(region) &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c.Id).Any()) &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; GetLastId(region, letters, possibleCharsList.Skip(middle), index); &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; GetLastId(region, letters, possibleCharsList.Take(middle), index); &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;} &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;} &lt;/span&gt;    &lt;br /&gt;&lt;span style="font-family:consolas;"&gt;} &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;The execution of this query is very slow (26 minutes and 18 seconds in my test with 562 012 347 records).&lt;/p&gt;  &lt;p&gt;So what can we do?&lt;/p&gt;  &lt;p&gt;The CPU is used by the DB at 100% and the slowly is only because of the DB. So it useless to imagine to parallelize our code.&lt;/p&gt;  &lt;p&gt;We can imagine to resize the Data Base server but it is not the goal of this post.&lt;/p&gt;  &lt;p&gt;In our case, the DBA (I specify that I am not a DBA) will probably want to change the Cars table schema in order to split into 3 columns the Id. However, in a lot of cases, it can be interesting to keep the Id column, which keeps the PK. Indeed, imagine that we have some existing applications. The idea is to add these columns with no impact on them.&lt;/p&gt;  &lt;p&gt;So we will have four columns (all not nullable) : &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Id &lt;/li&gt;    &lt;li&gt;Number &lt;/li&gt;    &lt;li&gt;Letters &lt;/li&gt;    &lt;li&gt;Region &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To set them, we will use CLR functions:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;mso-margin-top-alt:auto;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:en;" lang="EN"&gt;public&lt;/span&gt;&lt;span style="font-family:consolas;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:en;" lang="EN"&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CarsFunction        &lt;br /&gt;&lt;/span&gt;{       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;SqlFunction&lt;/span&gt;]       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlInt16&lt;/span&gt; GetNumber(&lt;span style="color:#2b91af;"&gt;SqlString&lt;/span&gt; id)       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlInt16&lt;/span&gt;(&lt;span style="color:blue;"&gt;short&lt;/span&gt;.Parse(&lt;span style="color:#2b91af;"&gt;Regex&lt;/span&gt;.Match(id.Value, &lt;span style="color:#a31515;"&gt;&amp;quot;^[0-9]{2,3}&amp;quot;&lt;/span&gt;).Value));       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:en;" lang="EN"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;SqlFunction&lt;/span&gt;]       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlString&lt;/span&gt; GetLetters(&lt;span style="color:#2b91af;"&gt;SqlString&lt;/span&gt; id)       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlString&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Regex&lt;/span&gt;.Match(id.Value, &lt;span style="color:#a31515;"&gt;&amp;quot;[A-Z]{2,3}&amp;quot;&lt;/span&gt;).Value);       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:en;" lang="EN"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;[&lt;span style="color:#2b91af;"&gt;SqlFunction&lt;/span&gt;]       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlInt16&lt;/span&gt; GetRegion(&lt;span style="color:#2b91af;"&gt;SqlString&lt;/span&gt; id)       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlInt16&lt;/span&gt;(&lt;span style="color:blue;"&gt;short&lt;/span&gt;.Parse(&lt;span style="color:#2b91af;"&gt;Regex&lt;/span&gt;.Match(id.Value, &lt;span style="color:#a31515;"&gt;&amp;quot;[0-9]{2}$&amp;quot;&lt;/span&gt;).Value));       &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;}&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;Then, in the DB, we will register the assembly and we will create some SQL functions from previous ones: &lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;CREATE&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;ASSEMBLY&lt;/span&gt; CarsFunctionsAssembly       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;FROM&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:red;"&gt;&amp;#39;D:\documents\visual studio 2010\Projects\CarsFunctions\CarsFunctions\bin\Debug\CarsFunctions.dll&amp;#39;        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;GO&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;#160; &lt;/span&gt;&amp;#160; &lt;br /&gt;    &lt;br /&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;CREATE&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;FUNCTION&lt;/span&gt; GetNumber&lt;span style="color:gray;"&gt;(&lt;/span&gt;@id &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;8&lt;span style="color:gray;"&gt;))&lt;/span&gt; &lt;span style="color:blue;"&gt;RETURNS&lt;/span&gt; &lt;span style="color:blue;"&gt;smallint&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;EXTERNAL&lt;/span&gt; NAME CarsFunctionsAssembly&lt;span style="color:gray;"&gt;.&lt;/span&gt;CarsFunction&lt;span style="color:gray;"&gt;.&lt;/span&gt;GetNumber       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;GO      &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;CREATE&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;FUNCTION&lt;/span&gt; GetLetters&lt;span style="color:gray;"&gt;(&lt;/span&gt;@id &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;8&lt;span style="color:gray;"&gt;))&lt;/span&gt; &lt;span style="color:blue;"&gt;RETURNS&lt;/span&gt; &lt;span style="color:blue;"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;3&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;EXTERNAL&lt;/span&gt; NAME CarsFunctionsAssembly&lt;span style="color:gray;"&gt;.&lt;/span&gt;CarsFunction&lt;span style="color:gray;"&gt;.&lt;/span&gt;GetLetters       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;GO      &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;     &lt;br /&gt;CREATE&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;FUNCTION&lt;/span&gt; GetRegion&lt;span style="color:gray;"&gt;(&lt;/span&gt;@id &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;8&lt;span style="color:gray;"&gt;))&lt;/span&gt; &lt;span style="color:blue;"&gt;RETURNS&lt;/span&gt; &lt;span style="color:blue;"&gt;smallint&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;EXTERNAL&lt;/span&gt; NAME CarsFunctionsAssembly&lt;span style="color:gray;"&gt;.&lt;/span&gt;CarsFunction&lt;span style="color:gray;"&gt;.&lt;/span&gt;GetRegion&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Ok, we have the functions, so we can be back on the new columns creation. Instead of creating “normal” columns, we will use computed columns. We can do it with the SSMS designer by setting the Computed Column Specification Formula to dbo.GetNumber(Id) (resp dbo.GetLetters(Id), dbo.GetRegion(Id)). In our case, the idea isn’t to calculate them each time but to keep their values. So we will set the “Is Persisted” property to true.&lt;/p&gt;  &lt;p&gt;But there is an issue: the function has to be deterministic. Our function is. However, because it is a CLR function, SQL Server can’t know it. So we will tell it explicitly.&lt;/p&gt;  &lt;p&gt;To do this, we will change the CLR functions code like this:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;"&gt;[&lt;span style="color:#2b91af;"&gt;SqlFunction&lt;/span&gt;(IsDeterministic = &lt;span style="color:blue;"&gt;true&lt;/span&gt;, IsPrecise = &lt;span style="color:blue;"&gt;true&lt;/span&gt;)]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-family:consolas;"&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlInt16&lt;/span&gt; GetNumber(&lt;span style="color:#2b91af;"&gt;SqlString&lt;/span&gt; id)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlInt16&lt;/span&gt;(&lt;span style="color:blue;"&gt;short&lt;/span&gt;.Parse(&lt;span style="color:#2b91af;"&gt;Regex&lt;/span&gt;.Match(id.Value, &lt;span style="color:#a31515;"&gt;&amp;quot;^[0-9]{2,3}&amp;quot;&lt;/span&gt;).Value));       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;}      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;     &lt;br /&gt;[&lt;span style="color:#2b91af;"&gt;SqlFunction&lt;/span&gt;(IsDeterministic = &lt;span style="color:blue;"&gt;true&lt;/span&gt;, IsPrecise = &lt;span style="color:blue;"&gt;true&lt;/span&gt;)]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-family:consolas;"&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlString&lt;/span&gt; GetLetters(&lt;span style="color:#2b91af;"&gt;SqlString&lt;/span&gt; id)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlString&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Regex&lt;/span&gt;.Match(id.Value, &lt;span style="color:#a31515;"&gt;&amp;quot;[A-Z]{2,3}&amp;quot;&lt;/span&gt;).Value);       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;}      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;     &lt;br /&gt;[&lt;span style="color:#2b91af;"&gt;SqlFunction&lt;/span&gt;(IsDeterministic = &lt;span style="color:blue;"&gt;true&lt;/span&gt;, IsPrecise = &lt;span style="color:blue;"&gt;true&lt;/span&gt;)]       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-family:consolas;"&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlInt16&lt;/span&gt; GetRegion(&lt;span style="color:#2b91af;"&gt;SqlString&lt;/span&gt; id)       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlInt16&lt;/span&gt;(&lt;span style="color:blue;"&gt;short&lt;/span&gt;.Parse(&lt;span style="color:#2b91af;"&gt;Regex&lt;/span&gt;.Match(id.Value, &lt;span style="color:#a31515;"&gt;&amp;quot;[0-9]{2}$&amp;quot;&lt;/span&gt;).Value));       &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:11pt;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;}&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Now, we can persist the three columns.&lt;/p&gt;  &lt;p&gt;Be careful, if we create an edmx from the DB, we will have a StoreGeneratedPattern=&amp;quot;Computed&amp;quot; on the columns Number, Letters and Region. It implies that in each update, EF, we reload the properties Number, Letters et Region. In our case, the calculation is only done on the key. With Entity Framework, it is not possible to change the value of the key. So, it is useful to change the StoreGeneratedPattern from Computed to Identity.&lt;/p&gt;  &lt;p&gt;Cool, we have fixed the INSERT issue.&lt;/p&gt;  &lt;p&gt;Let’s now concentrate on the goal: our query.&lt;/p&gt;  &lt;p&gt;We don’t need a dichotomous approach, a simple LINQ To Entities query is enough:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;"&gt;var&lt;/span&gt;&lt;span style="font-family:consolas;"&gt; ids = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Cars       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;group&lt;/span&gt; c &lt;span style="color:blue;"&gt;by&lt;/span&gt; c.Region &lt;span style="color:blue;"&gt;into&lt;/span&gt; g       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; &lt;span style="color:blue;"&gt;new        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Region = g.Key,       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;LastId = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; g       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;orderby&lt;/span&gt; c.Letters.Length &lt;span style="color:blue;"&gt;descending&lt;/span&gt;, c.Letters &lt;span style="color:blue;"&gt;descending&lt;/span&gt;, c.Number &lt;span style="color:blue;"&gt;descending        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c.Id).FirstOrDefault()&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:11pt;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}).AsEnumerable().ToDictionary(region =&amp;gt; region.Region, region =&amp;gt; region.LastId);&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;With this, our query runs in 1 minute and 42 seconds instead of 26 minutes and 18 seconds! &lt;/p&gt;  &lt;p&gt;It’s better but it isn’t finished yet.&lt;/p&gt;  &lt;p&gt;In the DB, we will set the Cars table cluster on the Region column (instead of the Id column).&lt;/p&gt;  &lt;p&gt;In this case, the query execution falls to 12 seconds!&lt;/p&gt;  &lt;p&gt;However, be careful! It’s really great in our sample but in the real life, don’t forget to study all the DB query on the table Cars before changing the cluster. &lt;/p&gt;  &lt;p&gt;So the DBA role is important in the success of the project.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now, imagine that we want to keep in cache the last id per region. To do it, we can use a static Dictionary. But there are two issues: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Imagine a N-Tiers scenario. If our application is deployed on more than one frontal server, it’s a shame to have to initialize the cache for each of them. Moreover, we have to maintain each of them with the last values &lt;/li&gt;    &lt;li&gt;If another application adds or removes a car in the DB, how to maintain our cache with the last values? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To fix the first issue, we will Velocity. For the second, we will use SQLDependency.&lt;/p&gt;  &lt;p&gt;Velocity is a distributed cache which allows a lot of very interesting things like load balancing. This distributed cache will be shared by all the frontal servers. It means that we won”t have to manage one cache per server.&lt;/p&gt;  &lt;p&gt;What do we have to do to use Velocity? First point: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B24C3708-EEFF-4055-A867-19B5851E7CD2&amp;amp;displaylang=en" target="_blank"&gt;download it&lt;/a&gt; and install it.&lt;img src="http://msmvps.com/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;  &lt;p&gt;When the installation is done, we will add the following references in our project: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;CacheBaseLibrary.dll &lt;/li&gt;    &lt;li&gt;CASBase.dll &lt;/li&gt;    &lt;li&gt;CASMain.dll &lt;/li&gt;    &lt;li&gt;ClientLibrary.dll &lt;/li&gt;    &lt;li&gt;FabricCommon.dll &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Then, we have to start the Velocity cluster. In this CTP, all administration commands are written with the console “Administration Tool - Microsoft Distributed Cache”. Then we write the following command line:&lt;/p&gt;  &lt;p&gt;start-cachecluster&lt;/p&gt;  &lt;p&gt;Then, in the config file, we wiil add these lines:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:consolas;color:blue;mso-ansi-language:en;mso-bidi-font-size:9.5pt;" lang="EN"&gt;&amp;lt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;color:#a31515;mso-ansi-language:en;mso-bidi-font-size:9.5pt;" lang="EN"&gt;configSections&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;color:blue;mso-ansi-language:en;mso-bidi-font-size:9.5pt;" lang="EN"&gt;&amp;gt;      &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;color:#a31515;mso-ansi-language:en;mso-bidi-font-size:9.5pt;" lang="EN"&gt;section&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;color:blue;mso-ansi-language:en;mso-bidi-font-size:9.5pt;" lang="EN"&gt; &lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;color:red;mso-ansi-language:en;mso-bidi-font-size:9.5pt;" lang="EN"&gt;name&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;color:blue;mso-ansi-language:en;mso-bidi-font-size:9.5pt;" lang="EN"&gt;=&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;mso-ansi-language:en;mso-bidi-font-size:9.5pt;" lang="EN"&gt;&amp;quot;&lt;span style="color:blue;"&gt;dataCacheClient&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Microsoft.Data.Caching.DataCacheClientSection, CacheBaseLibrary&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;allowLocation&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;allowDefinition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;Everywhere&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;        &lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;configSections&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;        &lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;dataCacheClient&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;deployment&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;routing&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;&amp;gt;        &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;localCache&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;isEnabled&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;true&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;sync&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;TTLBased&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;ttlValue&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;60000&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;        &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;hosts&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;        &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;host&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;MATTHIEU-PRO&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;cachePort&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;22233&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;cacheHostName&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;DistributedCacheService&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;        &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;host&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;MATTHIEU-LAPTOP1&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;cachePort&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;22233&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;cacheHostName&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;DistributedCacheService&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;        &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;host&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;MATTHIEU-LAPTOP2&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;cachePort&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;22233&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;cacheHostName&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;DistributedCacheService&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;        &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;host&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;MATTHIEU-PC1&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;cachePort&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;22233&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;cacheHostName&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;DistributedCacheService&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;        &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;host&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;MATTHIEU-PC2&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;cachePort&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;22233&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:red;"&gt;cacheHostName&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;DistributedCacheService&lt;/span&gt;&amp;quot;&lt;span style="color:blue;"&gt;/&amp;gt;        &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;hosts&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;        &lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;dataCacheClient&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Now we can imagine to query the cache in our application (server tier). &lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;mso-bidi-font-size:9.5pt;"&gt;return&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DataCacheFactory&lt;/span&gt;().GetDefaultCache().GetObjectsInRegion(&lt;span style="color:#a31515;"&gt;&amp;quot;LastImmatPerRegion&amp;quot;&lt;/span&gt;).ToDictionary(keyValuePair =&amp;gt; &lt;span style="color:blue;"&gt;short&lt;/span&gt;.Parse(keyValuePair.Key), keyValuePair =&amp;gt; (&lt;span style="color:blue;"&gt;string&lt;/span&gt;)keyValuePair.Value); &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;With the data in the cache, the query executes in 30 ms!&lt;/p&gt;  &lt;p&gt;Now, we have to fix the last point: initializing the cache and maintaining it.&lt;/p&gt;  &lt;p&gt;To initialize it, it’s very easy. We just have to use the above query:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;mso-bidi-font-size:9.5pt;"&gt;var&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt; cache = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DataCacheFactory&lt;/span&gt;().GetDefaultCache();       &lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;span style="font-family:consolas;"&gt;&lt;span style="color:blue;"&gt;try      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;{    &lt;br /&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family:consolas;"&gt;cache.RemoveRegion(LAST_IMMAT_PER_REGION);    &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;}    &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="color:blue;"&gt;catch      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;{    &lt;br /&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:consolas;font-size:11pt;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;}&lt;/span&gt;&amp;#160; &lt;br /&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;cache.CreateRegion(LAST_IMMAT_PER_REGION, &lt;span style="color:blue;"&gt;false&lt;/span&gt;);     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;color:blue;mso-bidi-font-size:9.5pt;"&gt;foreach&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; car &lt;span style="color:blue;"&gt;in&lt;/span&gt; &lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Cars     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;group&lt;/span&gt; c &lt;span style="color:blue;"&gt;by&lt;/span&gt; c.Region &lt;span style="color:blue;"&gt;into&lt;/span&gt; g     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; &lt;span style="color:blue;"&gt;new      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Region = g.Key,     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;LastId = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; g     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;orderby&lt;/span&gt; c.Letters.Length &lt;span style="color:blue;"&gt;descending&lt;/span&gt;, c.Letters &lt;span style="color:blue;"&gt;descending&lt;/span&gt;, c.Number &lt;span style="color:blue;"&gt;descending      &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c.Id).FirstOrDefault()     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;})     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;cache.Put(car.Region.ToString(), car.LastId, LAST_IMMAT_PER_REGION); &lt;/span&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Now to maintain the cache with the last values, it’s harder. My idea is to use a SQLDependency. The issue is the fact that we can’t, a priori, get the modifications with SQLDependency and, of course, I don’t want to refresh all my cache. So my idea is to add a Trigger on the Cars table which will fill a new table (for updates). &lt;/p&gt;  &lt;p&gt;To begin, we will create this new table: CarsModificationsTmp with six columns: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;TmpId (int Identity(1,1), PK), &lt;/li&gt;    &lt;li&gt;CarId (nvarchar(8), not nullable) &lt;/li&gt;    &lt;li&gt;Number (smallint, not nullable) &lt;/li&gt;    &lt;li&gt;Letters (nvarchar(3), not nullable) &lt;/li&gt;    &lt;li&gt;Region (smallint, not nullable), &lt;/li&gt;    &lt;li&gt;Deleted (bit, not nullable, default=0) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Then, we have to define triggers on Cars table:&lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;CREATE&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;TRIGGER&lt;/span&gt; CarsInserted       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;ON&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; Cars      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;FOR&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;INSERT        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;AS      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;BEGIN      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; @Id &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;8&lt;span style="color:gray;"&gt;)        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; @Number &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;smallint        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; @Letters &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;3&lt;span style="color:gray;"&gt;)        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; @Region &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;smallint        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; @Id &lt;span style="color:gray;"&gt;=&lt;/span&gt; Id&lt;span style="color:gray;"&gt;,&lt;/span&gt; @Number &lt;span style="color:gray;"&gt;=&lt;/span&gt; Number&lt;span style="color:gray;"&gt;,&lt;/span&gt; @Letters &lt;span style="color:gray;"&gt;=&lt;/span&gt; Letters&lt;span style="color:gray;"&gt;,&lt;/span&gt; @REGION &lt;span style="color:gray;"&gt;=&lt;/span&gt; Region &lt;span style="color:blue;"&gt;FROM&lt;/span&gt; Inserted       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; CarsModificationsTmp&lt;span style="color:gray;"&gt;(&lt;/span&gt;CarId&lt;span style="color:gray;"&gt;,&lt;/span&gt; Number&lt;span style="color:gray;"&gt;,&lt;/span&gt; Letters&lt;span style="color:gray;"&gt;,&lt;/span&gt; Region&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;@Id&lt;span style="color:gray;"&gt;,&lt;/span&gt; @Number&lt;span style="color:gray;"&gt;,&lt;/span&gt; @Letters&lt;span style="color:gray;"&gt;,&lt;/span&gt; @Region&lt;span style="color:gray;"&gt;)        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;END      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;GO      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;CREATE&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;TRIGGER&lt;/span&gt; CarsDeleted       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;ON&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; Cars      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;FOR&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;DELETE        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;AS      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;BEGIN      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; @Region &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;smallint        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; @Id &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;8&lt;span style="color:gray;"&gt;)        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; @Number &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;smallint        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; @Letters &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;nvarchar&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;3&lt;span style="color:gray;"&gt;)        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; @Id &lt;span style="color:gray;"&gt;=&lt;/span&gt; Id&lt;span style="color:gray;"&gt;,&lt;/span&gt; @Number &lt;span style="color:gray;"&gt;=&lt;/span&gt; Number&lt;span style="color:gray;"&gt;,&lt;/span&gt; @Letters &lt;span style="color:gray;"&gt;=&lt;/span&gt; Letters&lt;span style="color:gray;"&gt;,&lt;/span&gt; @REGION &lt;span style="color:gray;"&gt;=&lt;/span&gt; Region &lt;span style="color:blue;"&gt;FROM&lt;/span&gt; Deleted       &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; CarsModificationsTmp&lt;span style="color:gray;"&gt;(&lt;/span&gt;CarId&lt;span style="color:gray;"&gt;,&lt;/span&gt; Number&lt;span style="color:gray;"&gt;,&lt;/span&gt; Letters&lt;span style="color:gray;"&gt;,&lt;/span&gt; Region&lt;span style="color:gray;"&gt;,&lt;/span&gt; Deleted&lt;span style="color:gray;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;@Id&lt;span style="color:gray;"&gt;,&lt;/span&gt; @Number&lt;span style="color:gray;"&gt;,&lt;/span&gt; @Letters&lt;span style="color:gray;"&gt;,&lt;/span&gt; @Region&lt;span style="color:gray;"&gt;,&lt;/span&gt; 1&lt;span style="color:gray;"&gt;)        &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;END&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-size:9.5pt;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Last, we will modify our code to use SQL Dependency. &lt;/p&gt;  &lt;p style="line-height:normal;margin-bottom:0pt;mso-layout-grid-align:none;" class="MsoNormal"&gt;&lt;span style="font-family:consolas;color:blue;"&gt;private&lt;/span&gt;&lt;span style="font-family:consolas;"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Load()      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;{     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; context = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CarsContainer&lt;/span&gt;())      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_cache = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DataCacheFactory&lt;/span&gt;().GetDefaultCache();      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;try       &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_cache.RemoveRegion(LAST_IMMAT_PER_REGION);      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;catch       &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_cache.CreateRegion(LAST_IMMAT_PER_REGION, &lt;span style="color:blue;"&gt;false&lt;/span&gt;);      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:blue;"&gt;var&lt;/span&gt; car &lt;span style="color:blue;"&gt;in&lt;/span&gt; &lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; context.Cars      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;group&lt;/span&gt; c &lt;span style="color:blue;"&gt;by&lt;/span&gt; c.Region &lt;span style="color:blue;"&gt;into&lt;/span&gt; g      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; &lt;span style="color:blue;"&gt;new       &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;Region = g.Key,      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;LastId = (&lt;span style="color:blue;"&gt;from&lt;/span&gt; c &lt;span style="color:blue;"&gt;in&lt;/span&gt; g      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;orderby&lt;/span&gt; c.Letters.Length &lt;span style="color:blue;"&gt;descending&lt;/span&gt;, c.Letters &lt;span style="color:blue;"&gt;descending&lt;/span&gt;, c.Number &lt;span style="color:blue;"&gt;descending       &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; c.Id).FirstOrDefault()      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;})      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_cache.Put(car.Region.ToString(), car.LastId, LAST_IMMAT_PER_REGION);      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;     &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt;   &lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;_connectionString = ((&lt;span style="color:#2b91af;"&gt;EntityConnection&lt;/span&gt;)context.Connection).StoreConnection.ConnectionString;        &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlDependency&lt;/span&gt;.Stop(_connectionString);        &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlDependency&lt;/span&gt;.Start(_connectionString);        &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;DefineCarsNotification();        &lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span&gt;     &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;/p&gt; private&lt;/span&gt;&lt;span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; DefineCarsNotification()      &lt;br /&gt;{      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; connection = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;SqlConnection&lt