我一直在使用LINQ的工作,现在到SQL一段时间,我从来没有问题......到现在为止。我有一个将查询发送到数据库的方法,但与其他时间不同,我无法将结果(无论是List还是Array)转换。方法如下:问题与LINQ to SQL的
public List<vwContainer> GetConteinerPorto(int id)
{
return (from cont in db.vwContainers
where cont.idHarbor == id
orderby cont.Year
select cont).ToList();
}
我试过了它的一些变体,但总是会出现“指定的转换无效”的结果。抛出异常。你们能给我点光吗?
堆栈跟踪:
[InvalidCastException: Specified cast is not valid.]
System.Data.SqlClient.SqlBuffer.get_Int32() +6271252
Read_vwCargas_movimentadas_conteiner(ObjectMaterializer`1) +636
System.Data.Linq.SqlClient.ObjectReader`2.MoveNext() +42
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +472
System.Linq.Enumerable.ToList(IEnumerable`1 source) +80
WebPortosSEP.Web.Models.PortoRepository.GetConteinerPorto(Int32 id) +867
WebPortosSEP.Web.Controllers.PortoController.Cargas(Int32 id) +255
lambda_method(Closure , ControllerBase , Object[]) +112
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +258
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +39
System.Web.Mvc.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a() +125
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +640
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +312
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +709
System.Web.Mvc.Controller.ExecuteCore() +162
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__4() +58
System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +453
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +371
什么是确切的错误?这会给你一个线索,因为它将包括它不能投射的类型。 – 2010-11-26 17:19:50
请参阅http://stackoverflow.com/questions/8332060/linq-executequery-error/23949896#23949896。 – admintehran 2014-05-30 08:36:31