首页 > 代码库 > 从具体化“System.Data.Objects.MaterializedDataRecord”类型到“XXXX”类型的指定强制转换无效。

从具体化“System.Data.Objects.MaterializedDataRecord”类型到“XXXX”类型的指定强制转换无效。

在EF里面使用CreateQueryl的时候出现异常

这是原来有问题的代码

se.CreateQuery<Departments>("SELECT Departments.dId, Departments.dName, Departments.dManager FROM Departments")                            .ToList().ForEach(w => { System.Console.WriteLine(w.dId + " " + w.dName + " " + w.dManager); });

 

百度谷歌都找不到答案  网上真的是一个错误  然后其他网站全去copy 误人子弟

修改后代码

 

  se.CreateQuery<Departments>("select value t from Departments as t")                            .ToList().ForEach(w => { System.Console.WriteLine(w.dId + " " + w.dName + " " + w.dManager); });
他的方法体:
public ObjectQuery<T> CreateQuery<T>( string queryString, params ObjectParameter[] parameters)

原因:queryString为ESQL而不是T-SQL

 

从具体化“System.Data.Objects.MaterializedDataRecord”类型到“XXXX”类型的指定强制转换无效。