Datatable не содержит определения AsEnumerable с использованием LinqBridge1.1 в C # 2.0 - PullRequest
4 голосов
/ 06 октября 2010

Я пытаюсь использовать linq в c # 2.0 (linqbridge) для поиска имени пациента в моей базе данных, но я получаю следующие ошибки: 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) не содержит этих методов. Есть ли способ решить эту проблему?

Спасибо.

Ответы [ 2 ]

22 голосов
/ 06 сентября 2011

Вы пытались добавить System.Data.DataSetExtensions dll в свой проект?

0 голосов
/ 07 июля 2014

Чтобы завершить предыдущий ответ, в случае, если вы не можете добавить ссылку на System.Data.DataSetExtensions с помощью Visual Studio, мне удалось это сделать, вручную изменив файл проекта библиотеки напрямую. Просто вставьте правильную строку среди существующих ссылок:

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