简体   繁体   中英

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

i'm trying to use linq in c#2.0(linqbridge) to search for a patient name in my database, but i'm getting the following errors: System.Data.Datatable does not contain a definition for AsEnumerable() System.Data.Datatable does not contain a definition for CopyToDataTable()

I added the linqBridge.dll reference to my project. And i'm using:

using 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();

What am i doing wrong? I already read that this version of LinqBridge(1.1) does not contain this methods.. Is there a way to solve this?

Thanks.

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

To complete the previous answer, in case you can not add the reference to System.Data.DataSetExtensions using Visual Studio, I managed to do it by manually editing the library project file directly. Just insert the proper line among the existing references:

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

Use DataTable instead of DataSet

In your code change to:

DataTable ds = new DataTable();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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