title: EF LINQ query where meet all list or array
body: <p>i have these data:  </p>
  
  <pre><code>class MyTableItem
  {
      public long id { get; set; }
      public long listId { get; set; }
      public long listFieldValue { get; set; }
      public long parentId { get; set; }
  }  
  </code></pre>
  
  <p>and:</p>
  
  <pre><code>    var myData = new MyTableItem[]
          {
              new MyTableItem { id = 1, listId = 1, listFieldValue = 100, parentId = 1 },
              new MyTableItem { id = 2, listId = 2, listFieldValue = 130, parentId = 1 },
              new MyTableItem { id = 3, listId = 3, listFieldValue = 170, parentId = 1 },
              new MyTableItem { id = 4, listId = 4, listFieldValue = 170, parentId = 1 },
  
              new MyTableItem { id = 5, listId = 1, listFieldValue = 100, parentId = 2 },
              new MyTableItem { id = 6, listId = 2, listFieldValue = 130, parentId = 2 },
              new MyTableItem { id = 7, listId = 3, listFieldValue = 170, parentId = 2 },
              new MyTableItem { id = 8, listId = 4, listFieldValue = 270, parentId = 2 },
              ...(continue)
          };
  
      var myMatchConditions = new int?[][] //id, rangeTypeId(equal, more, less, between), from, to 
          { 
              new int?[] { 1, 1, 100, null }, 
              new int?[] { 2, 2, 125, null }, 
              new int?[] { 3, 3, null, 175 }, 
              new int?[] { 4, 4, 130, 180 }
              ...(can continue more)
          };
  </code></pre>
  
  <p>now i need to know which myData (groupBy parrentId) are matched by my conditions,<br>
  let me explain more:  </p>
  
  <p>I want to know which parrent Id has listFieldValue where:  </p>
  
  <p>1) (listId == 1)&amp;&amp;(listFieldValue == 100)<br>
  <strong>and</strong><br>
  2) (listId == 2)&amp;&amp;(listFieldValue > 125)<br>
  <strong>and</strong><br>
  3) (listId == 3)&amp;&amp;(listFieldValue &lt; 175)<br>
  <strong>and</strong><br>
  4) ((listId == 4)&amp;&amp;(listFieldValue > 130)&amp;&amp;(listFieldValue &lt; 180)) </p>
  
  <p><strong>it must return (1)parrentId.</strong></p>