Запрос LINQ к ошибке типа DataTable - PullRequest
0 голосов
/ 30 июня 2011

У меня есть следующая функция на уровне доступа к данным, но я получаю следующую ошибку в моей инструкции RETURN.

Аргументы типа для метода 'System.Data.DataTableExtensions.CopyToDataTable (System.Collections.Generic.IEnumerable) 'не может быть выведено из использования.Попробуйте явно указать аргументы типа

Мой код:

DL.FVRGDataContext db = new FVRGDataContext();

public DataTable getRestaurants(string cuisineName)
{
   var cuisineIdFind = from CUISINE in db.CUISINEs
                       where CUISINE.CUISINE_NAME == cuisineName
                       select CUISINE.CUISINE_ID;

   var restaurantList = from RESTAURANT in db.RESTAURANTs
                        where RESTAURANT.CUISINE_ID == 2
                        orderby RESTAURANT.REST_NAME ascending
                        select i;

   DataTable result = new DataTable();
   result = restaurantList.CopyToDataTable();

   return result;
}

1 Ответ

0 голосов
/ 30 июня 2011

CopyToDataTable не работает таким образом ... у него есть общий параметр T, где T должен быть подклассом DataRow. Другими словами, CopyToDataTable нельзя использовать для преобразования произвольной коллекции в DataTable, элементы коллекции должны быть DataRows сами по себе.

В вашем случае CUISINE и RESTAURANT кажутся сущностями Linq to SQL или Entity Framework, а не DataRows, поэтому он не может работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...