|
嗨,我一直在代码中看到指定的转换无效,但当我连接到备份数据库时,我没有收到指定的转换无效的错误。我不确定发生了什么。
) _8 c& A) F7 R2 o# L- N同样,这个代码可以在一个数据库上完美运行,但在另一个数据库上给了我错误。( C2 ~) |; u* ^0 \+ ^: o* A: G
我的控制器
( q7 ]" C0 A/ _/ fusing 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 = 30get MP Data if (countSpace == 1 && v.Count(char.IsLetter) > 3)3) if (SqlString.CheckStringForComma(v)) mpq = db.mps .Where(c => c.NAME_LAST.ToLower().Contains(SqlString.GetSplitCommaString(v.ToLower(),0))).OrderBy(c => c.NAME_LAST).ThenBy(f => f.NAME_FIRST); else mpq = db.mps .Where(c => c.NAME_LAST.ToLower().Contains(SqlString.GetSplitString(v.ToLower(),1) || c.NAME_LAST.Contains(SqlString.GetSplitString(v.ToLower(),0))).OrderBy(c => c.NAME_LAST).ThenBy(f => f.NAME_FIRST); else mpq = db.mps .Where(c => c.NAME_L ViewBag.count = mpq.Count(); else { ViewBag.count = @ViewBag.col = "Unclaimed Pensions"; return View(mpq.ToPagedList(currentPageIndex,DefaultPageSize)); }}}我的模特/ q- O7 ]; z& a' V9 C
[global::System.Data.Linq.Mapping.TableAttribute(Name = "dbo.mp")]public partial class mp{ private string _COMPANY; private string _STATE; private System.Nullable _DOPT; private string _SP_STATE; private string _PRT_NAME; private string _NAME_LAST; private string _NAME_FIRST; private string _LASTADDRESS; private System.Nullable _ID; private System.Nullable _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 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 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 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; } }}堆栈跟踪' e) L/ ~8 l9 q) [. @
Line @ViewBag.col = "Unclaimed Pensions";Line 258ine return View(mpq.ToPagedList(currentPageIndex, DefaultPageSize));Line Line 261:Stack Trace:[InvalidCastException: Specified cast is not valid.] System.Data.SqlClient.SqlBuffer.get_Double() 51System.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
. T- j8 }+ r' `& L& ?2 k6 a 解决方案:
2 V4 i2 w" d0 b" A! c 将备份数据库与无效数据库进行比较,特别是ID比较列。确保它们同时匹配 类型 空 (NULL)的能力。3 ~9 _6 b. W+ ]( b5 ^! i
引起异常表示列之一(类型为 )double)与模型不匹配。8 f9 a. z5 O# ~; B- d
“ mp”表上的ID列是模型中唯一的双列。 |
|