title: Convert T-SQL to LINQ-to-SQL
body: <p>I have a table <code>ContentHistory</code> in a SQL Server 2008 database with a column <code>Content</code> of data type <code>xml, NOT NULL</code>. This column stores complete XML documents (an <code>Intersection</code> root node containing one or more <code>Article</code> nodes:</p>
  
  <pre><code> &lt;InterSection&gt;
      &lt;Article&gt;
          &lt;ID&gt;1&lt;/&lt;ID&gt;
          ...other nodes/data
      &lt;/Article&gt;
      &lt;Article&gt;
          &lt;ID&gt;2&lt;/&lt;ID&gt;
          ...other nodes/data
      &lt;/Article&gt;
      &lt;Article&gt;
          &lt;ID&gt;3&lt;/&lt;ID&gt;
          ...other nodes/data
      &lt;/Article&gt;
   &lt;/InterSection&gt;
  </code></pre>
  
  <p>I have written the T-SQL that takes the XML data and shreds it so that I get a result row for each <code>Article</code> node for whichever rows I select from the <code>ContentHistory</code> table:</p>
  
  <pre><code>SELECT      T2.Articles.query('.')
  FROM        ContentHistory
  CROSS APPLY Content.nodes('/InterSection/Article') AS T2(Articles)
  WHERE ... /* Filter records based on other columns in ContentHistory */
  </code></pre>
  
  <p>This works great but I don't want to call this as a stored procedure from my ASP.NET MVC application as all other database requests have so far been achieved using LINQ-to-SQL.</p>
  
  <p>So the question is to how achieve this in LINQ (examples in C# please)?</p>