VS2008,无法使用linq查询datatable?

JZ_7975 2012-12-25 03:06:36
使用Linq查询DataTable
无法使用DataTable.AsEnumerable()方法
在vs2008中,默认就有引用
using System.Linq;
但是为什么DataTable没有AsEnumerable()?

...全文
482 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
JZ_7975 2013-01-19
  • 打赏
  • 举报
回复
引用 15 楼 wjq 的回复:
引用 System.Data.DataSetExtensions.dll
确实是这个原因 好了,谢谢了啊!
EnForGrass 2013-01-13
  • 打赏
  • 举报
回复
肯定是有可以用的,也许是安装少了什么
wjq 2013-01-12
  • 打赏
  • 举报
回复
引用 System.Data.DataSetExtensions.dll
JZ_7975 2012-12-26
  • 打赏
  • 举报
回复
引用 9 楼 sj490790083 的回复:
右击项目,属性,选择应用程序,看看目标framework是3.5吗
是3.5
sj490790083 2012-12-26
  • 打赏
  • 举报
回复
右击项目,属性,选择应用程序,看看目标framework是3.5吗
JZ_7975 2012-12-26
  • 打赏
  • 举报
回复
这个会不会是项目配置的关系 在其他项目中,是可以支持Linq的?
JZ_7975 2012-12-26
  • 打赏
  • 举报
回复
引用 13 楼 wangweimutou 的回复:
C# code?1234567891011121314151617181920212223242526272829303132333435363738//测试环境:vs2010;//Framework版本:3.5using System;using System.Data; namespace linqDataTable{ class Program { ……
应该是编译环境的问题 table.AsEnumerable() 我这里table没有AsEnumerable()属性
wangweimutou 2012-12-26
  • 打赏
  • 举报
回复
//测试环境:vs2010;
//Framework版本:3.5
using System;
using System.Data;

namespace linqDataTable
{
    class Program
    {
        static void Main(string[] args)
        {
            DataTable table = new DataTable();
            table.Columns.Add("ID", typeof(int));
            table.Rows.Add(new object[] { 1 });
            table.Rows.Add(new object[] { 2 });
            table.Rows.Add(new object[] { 3 });

    
            Console.WriteLine("直接输出结果:");
            for (int i = 0; i < table.Rows.Count;i++ )
            {
                Console.WriteLine(table.Rows[i]["ID"].ToString());
            }

            Console.WriteLine("Linq输出结果:");
            var queryInfo = from tableInfo in table.AsEnumerable()
                            orderby tableInfo.Field<int>("ID") descending
                            select tableInfo;

            foreach (var item in queryInfo)
            {
                Console.WriteLine(item["ID"].ToString());
            }
                              
            Console.ReadLine();
        }
    }
}
本人测试通过,如果还不行可能是编辑环境的问题吧
JZ_7975 2012-12-26
  • 打赏
  • 举报
回复
引用 11 楼 kuailepanpan 的回复:
你.net版本不对吧,3.5以上好像才行
3.5是可以的
kuailepanpan 2012-12-26
  • 打赏
  • 举报
回复
你.net版本不对吧,3.5以上好像才行
JZ_7975 2012-12-25
  • 打赏
  • 举报
回复
引用 5 楼 q107770540 的回复:
using System.Data;
这个我有引用
q107770540 2012-12-25
  • 打赏
  • 举报
回复
你using system.linq是木用的
q107770540 2012-12-25
  • 打赏
  • 举报
回复
using System.Data;
JZ_7975 2012-12-25
  • 打赏
  • 举报
回复
引用 3 楼 sj490790083 的回复:
System.Data命名空间下的方法,使用Datatable的实例去调用
public void TargetLocation(DataTable dt, string sceneName) { dt无法调用AsEnumerable() DataTable dtt = new DataTable(); dtt同样无法调用AsEnumerable() }
sj490790083 2012-12-25
  • 打赏
  • 举报
回复
System.Data命名空间下的方法,使用Datatable的实例去调用
JZ_7975 2012-12-25
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
你.net版本不对吧,3.5以上好像才行
.net版本就是3.5的
bdmh 2012-12-25
  • 打赏
  • 举报
回复
你.net版本不对吧,3.5以上好像才行

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧