LINQ查询到DataTable类型错误

时间:2011-06-30 13:37:56

标签: asp.net linq datatable types

我在数据访问层中有以下功能,但我在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 :(得分:0)

CopyToDataTable不能以这种方式工作......它有一个通用参数T,其中T必须是DataRow的子类。换句话说,CopyToDataTable不能用于将任意集合转换为DataTable,集合中的项目必须是DataRows

在您的情况下,CUISINERESTAURANT似乎是Linq to SQL或Entity Framework实体,而不是DataRows,因此它无法正常工作。