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

dyms 2014-12-08 16:56 原文

在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

 

推荐阅读