小编Man*_*iya的帖子

来自sql查询执行实体框架的匿名类型结果

我使用实体框架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查询中获取匿名类型结果?

c# sql entity-framework anonymous-types

30
推荐指数
3
解决办法
5万
查看次数

标签 统计

anonymous-types ×1

c# ×1

entity-framework ×1

sql ×1