EntityFramework之原始查询及性能优化(六)
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前言 在EF中我们可以通过Linq来操作实体类,但是有些时候我们必须通过原始sql语句或者存储过程来进行查询数据库,所以我们可以通过EF Code First来实现,但是SQL语句和存储过程无法进行映射,于是我们只能手动通过上下文中的SqlQuery和ExecuteSqlCommand来完成。 SqlQuery sql语句查询实体 通过DbSet中的SqlQuery方法来写原始sql语句返回 实体实例 ,如果是通过Linq查询返回的那么返回的对象将被上下文(context)所跟踪。 首先给出要操作的Student(学生类),对于其映射这里不再叙述,本节只讲查询。 public class Student { public int ID { get ; set ; } public string Name { get ; set ; } public int Age { get ; set ; } } 如果我们要查询学生表(Student)所有数据应该如何操作呢?下面我们通过代码来进行演示: EntityDbContext ctx = new EntityDbContext(); SqlParameter[] parameter = { }; ctx.Database.SqlQuery <Student>( "