我正在尝试使用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'。显式转换 存在(你是否错过演员表?)
我无法找到此转化的确切链接。
答案 0 :(得分:0)
试试这个
IQueryable<DataRow> empResults = (from c in temp.emplyee
select c).Cast<DataRow>().AsQueryable();
但请确保temp.emplyee
为DataRow
因此,如果您使用EF,则需要使用生成的模型和上下文,而不是适配器和dataTable
答案 1 :(得分:0)
你不能直接强制转换,CopyToDataTable
应该对你有所帮助:
DataTableExtensions.CopyToDataTable<T> Method (IEnumerable<T>)
http://msdn.microsoft.com/en-us/library/bb396189.aspx
或者,您可以实现自定义方法,以使用您实体的属性填充DataRow
列。