我尝试在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)不包含这个方法。有没有办法解决这个问题?
谢谢。
发布于 2011-09-06 14:20:32
您是否尝试过将System.Data.DataSetExtensions动态链接库添加到项目中?
发布于 2014-07-07 23:50:36
为了完成前面的回答,如果您不能使用Visual Studio添加对System.Data.DataSetExtensions的引用,我可以通过直接手动编辑库项目文件来完成。只需在现有引用之间插入适当的行:
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Runtime.Remoting" />发布于 2020-06-06 21:22:25
使用DataTable而不是DataSet
在您的代码中更改为:
DataTable ds = new DataTable();https://stackoverflow.com/questions/3872244
复制相似问题