【问题标题】:Datatable does not contain a definition for AsEnumerable using LinqBridge1.1 in C#2.0Datatable 不包含 AsEnumerable 在 C#2.0 中使用 LinqBridge1.1 的定义
【发布时间】:2010-10-06 12:11:13
【问题描述】:

我正在尝试使用 c#2.0(linqbridge) 中的 linq 在我的数据库中搜索患者姓名, 但我收到以下错误: System.Data.Datatable 不包含 AsEnumerable() 的定义 System.Data.Datatable 不包含 CopyToDataTable() 的定义

我将 linqBridge.dll 引用添加到我的项目中。 我正在使用:

使用 System.Linq;

            List<string> names = name.Split(' ').ToList();
            SqlConnection con = new SqlConnection(m_connection_string);
            SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM PATIENT", con);
            DataSet ds = new DataSet();
            da.Fill(ds);

            var query =
            from pat in ds.Tables["PATIENT"].AsEnumerable().Where(c => names.All(val => c.PAT_SEARCH_NAME.Contains(val)))
            select pat;

            DataTable table = query.CopyToDataTable();

我做错了什么? 我已经读过这个版本的 LinqBridge(1.1) 不包含这个方法.. 有没有办法解决这个问题?

谢谢。

【问题讨论】:

    标签: linq asenumerable linqbridge


    【解决方案1】:

    您是否尝试将 System.Data.DataSetExtensions dll 添加到您的项目中?

    【讨论】:

      【解决方案2】:

      为了完成上一个答案,如果您无法使用 Visual Studio 添加对 System.Data.DataSetExtensions 的引用,我设法通过直接手动编辑库项目文件来做到这一点。只需在现有引用中插入正确的行:

      <Reference Include="System.Data" />
      <Reference Include="System.Data.DataSetExtensions" />
      <Reference Include="System.Runtime.Remoting" />
      

      【讨论】:

        【解决方案3】:

        使用DataTable 而不是DataSet

        在您的代码中更改为:

        DataTable ds = new DataTable();
        

        【讨论】:

          猜你喜欢
          • 2012-03-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多