无法隐式转换类型&#39; IQueryable&lt;&gt;到IQueryable <datarow> </datarow>

时间:2014-04-30 08:04:56

标签: asp.net entity-framework visual-studio

我正在尝试使用Visual Studio 2008中的EDMX编写一个简单的保存和加载操作。

这是我的加载方法:

    public static DataTable LoadData()
    {

    using (testEntities context = new testEntities())
      { 

              testEntities temp = new testEntities();
        DataTable dt = new DataTable();

       IQueryable<DataRow> empResults = (from c in temp.emplyee
                                          select c).AsQueryable();


       }


        return dt;
    }

但是我收到以下错误:

  

无法隐式转换类型'System.Linq.IQueryable&lt;&gt;'至   'System.Linq.IQueryable'。显式转换   存在(你是否错过演员表?)

我无法找到此转化的确切链接。

2 个答案:

答案 0 :(得分:0)

试试这个

 IQueryable<DataRow> empResults = (from c in temp.emplyee
                                   select c).Cast<DataRow>().AsQueryable();

但请确保temp.emplyeeDataRow


因此,如果您使用EF,则需要使用生成的模型和上下文,而不是适配器和dataTable

答案 1 :(得分:0)

你不能直接强制转换,CopyToDataTable应该对你有所帮助:

DataTableExtensions.CopyToDataTable<T> Method (IEnumerable<T>)

http://msdn.microsoft.com/en-us/library/bb396189.aspx

或者,您可以实现自定义方法,以使用您实体的属性填充DataRow列。