繁体   English   中英

Datatable 不包含在 C#2.0 中使用 LinqBridge1.1 的 AsEnumerable 定义

[英]Datatable does not contain a definition for AsEnumerable using LinqBridge1.1 in C#2.0

我正在尝试在 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) 不包含这个方法..有没有办法解决这个问题?

谢谢。

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

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

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

使用DataTable而不是DataSet

在您的代码中更改为:

DataTable ds = new DataTable();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM