title: Specified cast is not valid C# Entity Framework
body: <p>Hi I have been getting this Specified cast is not valid in my code but when I connect to my backup database I do not get the Specified cast is not valid error. I am not sure what is going on. </p>
  
  <p>Again, this code works perfectly on one database and gives me the error on the other. </p>
  
  <p>My Controller </p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Web;
  using System.Web.Mvc;
  using System.Data.Linq.SqlClient;
  using System.Text.RegularExpressions;
  using MvcPaging;
  using lookups.Models;
  using lookups.Helpers;
  
  
  namespace lookups.Controllers
  {
  public class MPController : Controller
  {
      // GET: /Lookups/
      public LpAppsDataDataContext db = new LpAppsDataDataContext();
      public const int DefaultPageSize = 30;
  
  
      //get MP Data
           if (countSpace == 1 &amp;&amp; v.Count(char.IsLetter) &gt; 3)
                              {
                                  if (SqlString.CheckStringForComma(v))
                                  {
                                      mpq = db.mps
                                           .Where(c =&gt; c.NAME_LAST.ToLower().Contains(SqlString.GetSplitCommaString(v.ToLower(), 0))).OrderBy(c =&gt; c.NAME_LAST).ThenBy(f =&gt; f.NAME_FIRST);
                                  }
                                  else
                                  {
                                      mpq = db.mps
                                         .Where(c =&gt; c.NAME_LAST.ToLower().Contains(SqlString.GetSplitString(v.ToLower(), 1)) || c.NAME_LAST.Contains(SqlString.GetSplitString(v.ToLower(), 0))).OrderBy(c =&gt; c.NAME_LAST).ThenBy(f =&gt; f.NAME_FIRST);
                                  }
                              }
                              else
                              {
                                  mpq = db.mps
                                         .Where(c =&gt; c.NAME_L
                  ViewBag.count = mpq.Count();
              }
          }
          else { ViewBag.count = 0; }
          @ViewBag.col = "Unclaimed Pensions";
  
          return View(mpq.ToPagedList(currentPageIndex, DefaultPageSize));
      }
  
  }
  }
  </code></pre>
  
  <p>My Model </p>
  
  <pre><code>[global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.mp")]
  public partial class mp
  {
  
      private string _COMPANY;
  
      private string _STATE;
  
      private System.Nullable&lt;System.DateTime&gt; _DOPT;
  
      private string _SP_STATE;
  
      private string _PRT_NAME;
  
      private string _NAME_LAST;
  
      private string _NAME_FIRST;
  
      private string _LASTADDRESS;
  
      private System.Nullable&lt;double&gt; _ID;
  
      private System.Nullable&lt;System.DateTime&gt; _DATE;
  
      private string _PLAN_TYPE;
  
      public mp()
      {
      }
  
      [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_COMPANY", DbType = "NVarChar(255)")]
      public string COMPANY
      {
          get
          {
              return this._COMPANY;
          }
          set
          {
              if ((this._COMPANY != value))
              {
                  this._COMPANY = value;
              }
          }
      }
  
      [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_STATE", DbType = "NVarChar(255)")]
      public string STATE
      {
          get
          {
              return this._STATE;
          }
          set
          {
              if ((this._STATE != value))
              {
                  this._STATE = value;
              }
          }
      }
  
      [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_DOPT", DbType = "DateTime")]
      public System.Nullable&lt;System.DateTime&gt; DOPT
      {
          get
          {
              return this._DOPT;
          }
          set
          {
              if ((this._DOPT != value))
              {
                  this._DOPT = value;
              }
          }
      }
  
      [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_SP_STATE", DbType = "NVarChar(255)")]
      public string SP_STATE
      {
          get
          {
              return this._SP_STATE;
          }
          set
          {
              if ((this._SP_STATE != value))
              {
                  this._SP_STATE = value;
              }
          }
      }
  
      [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_PRT_NAME", DbType = "NVarChar(255)")]
      public string PRT_NAME
      {
          get
          {
              return this._PRT_NAME;
          }
          set
          {
              if ((this._PRT_NAME != value))
              {
                  this._PRT_NAME = value;
              }
          }
      }
  
      [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_NAME_LAST", DbType = "NVarChar(255)")]
      public string NAME_LAST
      {
          get
          {
              return this._NAME_LAST;
          }
          set
          {
              if ((this._NAME_LAST != value))
              {
                  this._NAME_LAST = value;
              }
          }
      }
  
      [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_NAME_FIRST", DbType = "NVarChar(255)")]
      public string NAME_FIRST
      {
          get
          {
              return this._NAME_FIRST;
          }
          set
          {
              if ((this._NAME_FIRST != value))
              {
                  this._NAME_FIRST = value;
              }
          }
      }
  
      [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_LASTADDRESS", DbType = "NVarChar(255)")]
      public string LASTADDRESS
      {
          get
          {
              return this._LASTADDRESS;
          }
          set
          {
              if ((this._LASTADDRESS != value))
              {
                  this._LASTADDRESS = value;
              }
          }
      }
  
      [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_ID", DbType = "Float")]
      public System.Nullable&lt;double&gt; ID
      {
          get
          {
              return this._ID;
          }
          set
          {
              if ((this._ID != value))
              {
                  this._ID = value;
              }
          }
      }
  
      [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_DATE", DbType = "DateTime")]
      public System.Nullable&lt;System.DateTime&gt; DATE
      {
          get
          {
              return this._DATE;
          }
          set
          {
              if ((this._DATE != value))
              {
                  this._DATE = value;
              }
          }
      }
  
      [global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_PLAN_TYPE", DbType = "NVarChar(255)")]
      public string PLAN_TYPE
      {
          get
          {
              return this._PLAN_TYPE;
          }
          set
          {
              if ((this._PLAN_TYPE != value))
              {
                  this._PLAN_TYPE = value;
              }
          }
      }
  }
  </code></pre>
  
  <p>StackTrace </p>
  
  <pre><code>Line 257:            @ViewBag.col = "Unclaimed Pensions";
  Line 258:
  Line 259:            return View(mpq.ToPagedList(currentPageIndex,      DefaultPageSize));
  Line 260:        }
  Line 261:
  
  Stack Trace: 
  
  
  [InvalidCastException: Specified cast is not valid.]
   System.Data.SqlClient.SqlBuffer.get_Double() +51
  System.Data.SqlClient.SqlDataReader.GetDouble(Int32 i) +62
   Read_mp(ObjectMaterializer`1 ) +2057
   System.Data.Linq.SqlClient.ObjectReader`2.MoveNext() +32
     System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection) +392
     System.Collections.Generic.List`1.AddRange(IEnumerable`1 collection) +10
     MvcPaging.PagedList`1..ctor(IQueryable`1 source, Int32 index, Int32    pageSize, Nullable`1 totalCount) +2014
     MvcPaging.PagingExtensions.ToPagedList(IQueryable`1 source, Int32 pageIndex, Int32 pageSize, Nullable`1 totalCount) +134
     lookups.Controllers.MPController.Mp(Nullable`1 page, String sortOrder) in 
  </code></pre>