title: Linq Query for matching
body: <p>I am trying to use Linq to return a list that is sorted by items that are matched most to least. </p>
  
  <p>I have a string of "relevant tags" or "keywords" delimited by ";" :</p>
  
  <p>a;b;c;d;e;f;g </p>
  
  <p>I have a record A in the database that has</p>
  
  <p>a;b;c;d;e;f;g </p>
  
  <p>I have another record B in the database that has 
  a;b;c; </p>
  
  <p>I want to search the database using linq and return 
  a list where record A is first in the list and record B would be the second. </p>
  
  <p>Tried:</p>
  
  <pre><code>dbContext2.Mains.where(x =&gt; x.VideoID == VideoID.ToString())
                  .where( x=&gt; x.Tags.Contains(ListOfKeyWords))
                  .single();
  </code></pre>