我使用实体框架5.0与.net framework 4.0代码的第一种方法.现在我知道我可以通过以下方式在实体框架中运行原始sql
var students = Context.Database.SqlQuery<Student>("select * from student").ToList();
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但我想要的是返回匿名结果.例如,我只想要学生表中的特定列,如下所示
var students = Context.Database.SqlQuery<Student>("select FirstName from student").ToList();
Run Code Online (Sandbox Code Playgroud)
它不起作用.它给了例外
数据读取器与指定的"MyApp.DataContext.Student"不兼容.类型为"StudentId"的成员在数据读取器中没有具有相同名称的相应列.
所以我尝试过dynamic类型
var students = Context.Database.SqlQuery<dynamic>("select FirstName from student").ToList();
Run Code Online (Sandbox Code Playgroud)
它也不起作用,它返回一个空对象.没有数据可用.
有没有办法从动态SQL查询中获取匿名类型结果?