我在数据访问层中有以下功能,但我在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;
}
答案 0 :(得分:0)
CopyToDataTable
不能以这种方式工作......它有一个通用参数T
,其中T
必须是DataRow
的子类。换句话说,CopyToDataTable
不能用于将任意集合转换为DataTable
,集合中的项目必须是DataRows
。
在您的情况下,CUISINE
和RESTAURANT
似乎是Linq to SQL或Entity Framework实体,而不是DataRows
,因此它无法正常工作。