2013-05-10 146 views
0

所以我嘗試從我的控制器LINQ的一些數據要傳遞給我的看法一樣Getting Razor View to understand Linq to SQL objectsInvalidCastException的:無法投類型「System.Int32」的對象爲類型「System.String」

,但我得到一個InvalidCastException每當我的控制器看起來像這樣:

public ActionResult Account() 
    { 
     return View(data.FailitatorParentLists.ToList()); 
    } 

任何幫助將不勝感激!

[InvalidCastException: Unable to cast object of type 'System.Int32' to type 'System.String'.] 
System.Data.SqlClient.SqlBuffer.get_String() +5271065 
System.Data.SqlClient.SqlDataReader.GetString(Int32 i) +75 
Read_FacilitatorParentList(ObjectMaterializer`1) +2677 
System.Data.Linq.SqlClient.ObjectReader`2.MoveNext() +32 
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +381 
System.Linq.Enumerable.ToList(IEnumerable`1 source) +58 
Omega.Controllers.ParentsController.Account(String returnUrl) in c:\Users\chrism\Documents\Visual Studio 2012\Projects\Omega\Omega- Source\Omega\Controllers\ParentsController.cs:38 
lambda_method(Closure , ControllerBase , Object[]) +180 
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +59 
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +435 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +60 
System.Web.Mvc.Async.AsyncControllerActionInvoker.InvokeSynchronousActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +50 
System.Web.Mvc.Async.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() +75 
System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +44 
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +139 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +102 
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +49 
System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +126 
System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +323 
System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult) +44 
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +139 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +102 
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +50 
System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +68 
System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +184 
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +136 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56 
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +40 
System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +40 
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +47 
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +151 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44 
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +47 
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +151 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +39 
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +39 
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +45 
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +47 
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +151 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +40 
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +38 
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9629296 
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155 

這裏是LINQ到SQL定義屬性

private System.Nullable<int> _UserID; 

    private int _StaffLocalID; 

    private string _Fac; 

    private string _StaffFirstName; 

    private string _StaffLastName; 

    private string _StaffEmail; 

    private string _AcademyID; 

    private int _StudentID; 

    private string _StudentLastName; 

    private string _StudentFirstName; 

    private System.Nullable<short> _Grade; 

    private string _ParentID; 

    private string _parentemail; 

    private System.Nullable<int> _ParentUserID; 

    private string _ParentLastName; 

    private string _ParentFirstName; 

    private string _Relationship; 
+0

您能顯示堆棧跟蹤嗎?什麼操作確實導致異常? – 2013-05-10 16:18:37

+0

數據庫中是否有任何'int'字段映射到模型中的'string'字段? – 2013-05-10 16:22:47

+0

請發佈'Read_FacilitatorParentList'(僅限屬性)的定義和表的結構。 – 2013-05-10 16:23:39

回答

1

我解決它!問題是我的dba改變了列的類型,並沒有通知我。大聲笑!

+0

在這種情況下,當您對您的問題發表評論時,「我剛剛檢查了所有映射,並且沒有任何int被錯誤映射,反之亦然。」,您是如何檢查的?如果你包括你如何檢查,以及你應該如何檢查,這個答案可能對其他人有用。 – hvd 2013-05-10 17:25:34

+0

我剛剛看了專欄。 – ChrisMcKenzie 2013-05-11 02:27:16

相關問題