litoueva 2009-06-13 21:44
浏览 364
已采纳

C#三层linq

无法将类型为“System.Data.Linq.DataQuery`1[DAL.Message]”的对象强制转换为类型“System.Collections.Generic.List`1[DAL.Message]”。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidCastException: 无法将类型为“System.Data.Linq.DataQuery`1[DAL.Message]”的对象强制转换为类型“System.Collections.Generic.List`1[DAL.Message]”。

源错误:

行 74:         public List<Message> findPage(int pagesize, int pageindex)
行 75:         {
行 76:             return (List<Message>)mdc.Message.Skip(pageindex * pagesize).Take(pagesize);
行 77:         }
行 78: 




源文件: D:\My Documents\Visual Studio 2008\Projects\Messages\BLL\MessageBLL.cs    行: 76

堆栈跟踪:


[InvalidCastException: 无法将类型为“System.Data.Linq.DataQuery1[DAL.Message]”的对象强制转换为类型“System.Collections.Generic.List1[DAL.Message]”。]
   BLL.MessageBLL.findPage(Int32 pagesize, Int32 pageindex) in D:\My Documents\Visual Studio 2008\Projects\Messages\BLL\MessageBLL.cs:76
   Web.index.GetData() in D:\My Documents\Visual Studio 2008\Projects\Messages\Web\index.aspx.cs:45
   Web.index.Page_Load(Object sender, EventArgs e) in D:\My Documents\Visual Studio 2008\Projects\Messages\Web\index.aspx.cs:40
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +43
   System.Web.UI.Control.OnLoad(EventArgs e) +91
   System.Web.UI.Control.LoadRecursive() +74
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2603


问题补充:
谢谢你的回答,这个我知道就是不知道怎么去转换。
  • 写回答

2条回答 默认 最新

  • rednaxelafx 2009-06-13 23:09
    关注

    虽然不知道你的mdc对应的代码实际是什么样的,不过这样大概能解决你的问题:
    [code="c#"]mdc.Message.Skip(pageindex * pagesize).Take(pagesize).ToList();[/code]
    这个ToList()是Enumerable类上的方法,是针对IEnumerable的扩展方法。DataQuery同时实现了IQueryable与IEnumerable,因此可以使用该方法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?