title: Int.Parse in Linq Expression
body: <p>I have the following LINQ expression. I want calculate the sum of numeric values in an <code>nvarchar</code> field. I'm using following code to do this, but I get an error when I try to run this.</p>
  
  <pre><code>var m = new MaterialModelContainer();
  
  var list = 
      (from x in
          (
              from inv in m.INVs
              join l in m.LIBs on inv.MESC equals l.MESC
              join o in m.OUTs on inv.MESC equals o.MESC
              join t in m.TRANs on inv.MESC equals t.MESC
              where t.TYPE == "60"
              select new
              {
                  l.MESC,
                  l.LINE_NO,
                  l.UNIT_LINE,
                  Description = l.DES + " " + l.PART_NO,
                  inv.NEW_QTY,
                  o.PJ,
                  o.DATE,
                  o.QTY,
                  o.QTY_REC,
                  TranQty = t.QTY,
                  tranDate = t.DATE
              }
          )
          group x by
              new
              {
                  x.MESC,
                  x.LINE_NO,
                  x.UNIT_LINE,
                  x.Description,
                  x.NEW_QTY,
                  x.PJ,
                  x.DATE,
                  x.QTY,
                  x.QTY_REC
              }
          into g
          select new
          {
              QTY_Consum_1 = g.Where(c =&gt; int.Parse(c.tranDate) &gt;= cuDate &amp;&amp; int.Parse(c.tranDate) &lt;= endDate).Sum(d =&gt; int.Parse(d.TranQty))
          }
      ).ToList();
  </code></pre>
  
  <p><strong>Error Description:</strong><br></p>
  
  <blockquote>
    <p>LINQ to Entities does not recognize the method 'Int32
    Parse(System.String)' method, and this method cannot be translated
    into a store expression
    <br></p>
  </blockquote>
  
  <p>How can I solve this problem and write this code better than this?</p>
  
  <p>I changed the code to this: </p>
  
  <pre><code>select new
  {
      QTY_Consum_1 = g.Where(c =&gt; SqlFunctions.StringConvert(c.tranDate) &gt;= cuDate &amp;&amp; SqlFunctions.StringConvert(c.tranDate) &lt;= endDate).Sum(d =&gt; SqlFunctions.StringConvert(d.TranQty)),
     g.Key.MESC
  }
  ).ToList();
  </code></pre>
  
  <p>but got this error:
  <img src="https://i.stack.imgur.com/hJQjN.jpg" alt="enter image description here"></p>