user1421676
user1421676

Reputation: 61

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.

Upvotes: 4

Views: 17908

Answers (3)

Maas Malik
Maas Malik

Reputation: 1

Use DataTable instead of DataSet

In your code change to:

DataTable ds = new DataTable();

Upvotes: 0

rukimira
rukimira

Reputation: 66

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" />

Upvotes: 0

JumpingJezza
JumpingJezza

Reputation: 5675

Have you tried adding the System.Data.DataSetExtensions dll to your project?

Upvotes: 22

Related Questions