Kendo UI MVC 래퍼를 사용하여 표를 만듭니다. LINQ 쿼리 관련 문제
컨트롤러의 코드
은 다음과 같습니다 :public ActionResult GetFaxHistory([DataSourceRequest] DataSourceRequest request)
{
using (var faxHistory = new waldenEntities())
{
IQueryable<FaxesSendServer> faxHistoryJson
= (System.Linq.IQueryable<WaldenCompleteFaxWeb.Models.FaxesSendServer>)faxHistory.FaxesSendServers.Where(p => p.UserID.Contains("walden"));
return Json(result, JsonRequestBehavior.AllowGet);
}
}
이 코드는 작동하고 문제없이 그리드를 만듭니다.
이내가 사용하고 코드는 다음과 같습니다 :
는public ActionResult GetFaxHistory([DataSourceRequest] DataSourceRequest request)
{
using (var faxHistory = new waldenEntities())
{
IQueryable<FaxesSendServer> faxHistoryJson
= (System.Linq.IQueryable<WaldenCompleteFaxWeb.Models.FaxesSendServer>)faxHistory.FaxesSendServers.Where(p => p.UserID.Contains("walden"));
IQueryable faxHistoryJson
= (System.Linq.IQueryable<WaldenCompleteFaxWeb.Models.FaxesSendServer>)faxHistory.FaxesSendServers.Select(c => c.Status);
}
}
내가 오류 내가 뭘 잘못
System.InvalidCastException was unhandled by user code
Message=Unable to cast object of type 'System.Data.Objects.ObjectQuery1[System.String]' to type 'System.Linq.IQueryable
1[WaldenCompleteFaxWeb.Models.FaxesSendServer]'. Source=WaldenCompleteFaxWeb StackTrace: at WaldenCompleteFaxWeb.Controllers.HomeController.GetFaxHistory(DataSourceRequest request) in C:\waldenltd\Customer Applications\WaldenCompleteFaxWeb\WaldenCompleteFaxWeb\Controllers\HomeController.cs:line 48 at lambda_method(Closure , ControllerBase , Object[]) at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2 parameters) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_DisplayClass42.b_41() at System.Web.Mvc.Async.AsyncResultWrapper.<>c_DisplayClass81.<BeginSynchronous>b__7(IAsyncResult _) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
1.End() at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_DisplayClass37.<>c_DisplayClass39.b_33() at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c_DisplayClass4f.b_49() InnerException:
이하 나는 특정 필드를 선택하려고하면 오류가 발생합니다?
코드가 컴파일 되나요? 두 쿼리 결과에 대해 동일한 변수 이름을 사용하고 있습니까? –
예. 코드는 두 예제 모두에서 컴파일됩니다. 첫 번째 코드 샘플 (select를 사용하지 않음)은 오류가 발생하지 않습니다. 선택 샘플 코드 오류가 발생했습니다.모든 필드를 선택하는 것이 예상대로 작동하는 이유는 무엇입니까? – user1181226
음 "적어도 'faxHistoryJson'이라는 로컬 변수가이 범위에서 이미 선언되었습니다."라는 오류가 발생합니다. –