一、简介

EF 支持开放底层的 ADO.NET 框架,DbContext有三种常用方法

DbSet.SqlQuery                 //查询并返回Entities
DbContext.Database.SqlQuery<T>    //执行某一个查询,并可以将返回集转换为某一对象
DbContext.Database.ExecuteSqlCommand   //执行某一并无返回集的SQL 命令,例如UPDATE,DELETE操作

二、用法

1、DbSet.SqlQuery用法

            var list = db.admins.SqlQuery("select * from admin");
foreach (var item in list)
{
Response.Write(item.username);
Response.Write("<br>");
}

2、DbContext.Database.SqlQuery<T>用法

            var list = db.Database.SqlQuery<admin>("select * from admin").ToList();
foreach (var item in list)
{
Response.Write(item.username);
Response.Write("<br>");
}

3、DbContext.Database.ExecuteSqlCommand用法

var res=db.Database.ExecuteSqlCommand("update admin set password='123456'");
Response.Write(res);

说明:1和2的结果一样

三、总结

原生SQL执行查询:

需要返回实体模型,使用DbSet.SqlQuery (context会跟踪,等效于LINQ方式)

需要返回其他类型,使用Database.SqlQuery

原生SQL执行更新:

使用Database.ExecuteSqlCommand

四、常用查询例子

1、EF select 怎么获取最近10天的数据

DateTime now = DateTime.Now;
var res = db.News.Where(p => System.Data.Objects.EntityFunctions.DiffDays(DateTime.Now, p.CreateTime) < 10);
return res.ToList<News>();

2、ef查询部分字段 https://www.cnblogs.com/webapi/p/10449319.html

public string ceshi()
{
dbEntities db = new dbEntities();
var list = db.news.Select(c => new { c.title, c.times }).ToList();//返回结果List<匿名类型>,控制器中直接可访问
string str = string.Empty;
       //List<匿名类型>在控制器中可直接方法,如果view中想使用的话需转换为json对象
foreach (var item in list)
{
str += item.title + "=" + item.times + "<br>";
}
return str;
}

load

Entity Framework查询,EF执行SQl的更多相关文章

  1. Entity Framework Code First执行SQL语句、视图及存储过程

    1.Entity Framework Code First查询视图 Entity Framework Code First目前还没有特别针对View操作的方法,但对于可更新的视图,可以采用与Table ...

  2. 如何得到EF(ADO.NET Entity Framework)查询生成的SQL? ToTraceString Database.Log

    ADO.NET Entity Framework ToTraceString  //输出单条查询 DbContext.Database.Log  //这里有详细的日志

  3. Entity Framework查询原理

    Entity Framework查询原理 前言 Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Rela ...

  4. Entity FrameWork(实体框架)是以ADO.NET Entity FrameWork ,简称为EF

    Entity FrameWork(实体框架)是以ADO.NET Entity FrameWork ,简称为EF Entity FrameWork的特点 1.支持多种数据库(MSSQL.Oracle.M ...

  5. easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)

    easyui datagrid 禁止选中行   没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...

  6. [转]Entity Framework vs. LINQ to SQL

    Entity Framework和LINQ to SQL到底有什么区别?这是一个很常见的问题.下面的表中简要罗列了两种技术的主要区别. LINQ to SQL Entity Framework 复杂度 ...

  7. MVC EF 执行SQL语句(转载)

    MVC EF 执行SQL语句 最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 闲着没事,看了一篇关于LI ...

  8. Entity Framework 与 LINQ to SQL

    Entity Framework和LINQ to SQL到底有什么区别?这是一个很常见的问题.下面的表中简要罗列了两种技术的主要区别. LINQ to SQL Entity Framework 复杂度 ...

  9. Entity Framework查询生成大量的子查询,如何避免?求救

    最近使用Entity Framework做一个中型的项目,一张表含有千万条数据,并没有使用很复杂的查询,只是程序上使用了DTO进行帅选数据,且使用了分页,效果很不理想.经过跟踪sql,我发现很多简单的 ...

随机推荐

  1. 手写SqlHelper

    SqlHelper是一个基于.NET Framework的数据库操作组件.组件中包含数据库操作方法,SqlHelper有很多版本,主要以微软一开始发布的SqlHelper类,后面包含进了Enterpr ...

  2. (C#)的命名规范

    http://gray.iteye.com/blog/644626 http://developer.51cto.com/art/200908/143787.htm http://blog.csdn. ...

  3. html+css学习笔记 [基础1]

    ---------------------------------------------------------------------------------------------------- ...

  4. angular入门系列教程目录

    本系列教程的目标很明确,就是入门,会一步一步的从零到最终的能写出一个基本完整的应用.这个过程中不去纠结一些概念或者是如何实现等等深入的东西,只是停留在应用层. ps:如果条件允许的话,后续会有深入一点 ...

  5. Ios8新特性-应用程序扩展

    一.什么是应用程序扩展? 应用程序扩展不是一个应用,它是主体应用程序(containing app)中一个单独的包,并能生成单独的二进制文件供其他应用调用. 个人感觉,类似于WP中的启动器,把系统当个 ...

  6. 新建标准mavenWeb工程以及Maven的web应用标准目录结构建议

    到现在为止,使用Maven结构的Web工程越来越多,因此在此介绍一下通过Maven来构建项目的相关知识.     文档主要分为两部分:       1.如何通过maven来构建多模块的web项目    ...

  7. Oracle 10G 安装后 不能卸载, 不能打开Web管理....

    1. 不能卸载. 点击这个卸载.   提示:   解决方法: 右键卸载, 设置兼容性为XP. 就可以使用了.    2. oracle10g登录em后,提示"java.lang.Except ...

  8. hdoj 2544 最短路

    题目传送:http://acm.hdu.edu.cn/showproblem.php?pid=2544 分析:Dijkstra算法 //2013-10-30 10:01:25 Accepted 254 ...

  9. SQLMap使用

    http://www.freebuf.com/articles/web/29942.html http://sqlmap.org/ http://blog.csdn.net/zgyulongfei/a ...

  10. ***iOS 项目的目录结构能看出你的开发经验

    最近有师弟去面试iOS开发,他谈论到,面试官竟然问他怎么分目录结构的,而且还具体问到每个子目录的文件名. 目录结构确实很重要,面试官问他这些无疑是想窥探他的开发经验.清晰的目录结构,可让人一眼知道对应 ...