Entity Framework查询,EF执行SQl
一、简介
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的更多相关文章
- Entity Framework Code First执行SQL语句、视图及存储过程
1.Entity Framework Code First查询视图 Entity Framework Code First目前还没有特别针对View操作的方法,但对于可更新的视图,可以采用与Table ...
- 如何得到EF(ADO.NET Entity Framework)查询生成的SQL? ToTraceString Database.Log
ADO.NET Entity Framework ToTraceString //输出单条查询 DbContext.Database.Log //这里有详细的日志
- Entity Framework查询原理
Entity Framework查询原理 前言 Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Rela ...
- Entity FrameWork(实体框架)是以ADO.NET Entity FrameWork ,简称为EF
Entity FrameWork(实体框架)是以ADO.NET Entity FrameWork ,简称为EF Entity FrameWork的特点 1.支持多种数据库(MSSQL.Oracle.M ...
- easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)
easyui datagrid 禁止选中行 没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...
- [转]Entity Framework vs. LINQ to SQL
Entity Framework和LINQ to SQL到底有什么区别?这是一个很常见的问题.下面的表中简要罗列了两种技术的主要区别. LINQ to SQL Entity Framework 复杂度 ...
- MVC EF 执行SQL语句(转载)
MVC EF 执行SQL语句 最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 闲着没事,看了一篇关于LI ...
- Entity Framework 与 LINQ to SQL
Entity Framework和LINQ to SQL到底有什么区别?这是一个很常见的问题.下面的表中简要罗列了两种技术的主要区别. LINQ to SQL Entity Framework 复杂度 ...
- Entity Framework查询生成大量的子查询,如何避免?求救
最近使用Entity Framework做一个中型的项目,一张表含有千万条数据,并没有使用很复杂的查询,只是程序上使用了DTO进行帅选数据,且使用了分页,效果很不理想.经过跟踪sql,我发现很多简单的 ...
随机推荐
- java集合类(三)About Iterator & Vector(Stack)
接上篇:java集合类学习(二) Talk about “Iterator”: 任何容器类,在插入元素后,还需要取回元素,因为这是容器的最基本工作.对于一般的容器,插入有add()相关方法(List, ...
- netbeans设置字体
选择 monospaced 字体 摘抄自:http://blog.sina.com.cn/s/blog_4b6047bc01000boz.html 今天看该文档时,突然意识到通过修改JRE的字体配置文 ...
- 双倍边距bug
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- c++ 如何实现,readonly
需求: 我要实现一个常量字段,只能赋值一次,赋值后不容许更改. 类似于c#的readonly或者java final #include <iostream> class A{public ...
- 通过email分享
MFMailComposeViewController *mailC=[[MFMailComposeViewControlleralloc] init]; if ([MFMailComposeView ...
- css块级元素、行内元素
说说对html页面元素的排列认识: html中所有元素从上到下排列,所以需要css来对其中的元素进行排序.调节样式,并用js为其添加交互效果. css的排序.定位是相对块级元素而言的,margin/p ...
- 20160729noip模拟赛zld
首先显然有多少个奇数,就有多少个回文串是最优的(没有奇数时构造一个回文串 然后有了k个“核心”,把剩下的字符顺序安排到这些的两侧,最后最短的回文串长度就是答案 #include<map> ...
- windows下编译Libevent
下载最新的libevent,目前是 libevent-2.0.21-stable.tar.gz 修改“D:\libevent-2.0.21-stable\event_iocp.c”.“D:\libev ...
- 完全卸载Oracle方法
手动卸载 软件环境: 1.Windows XP + Oracle 10g 2.Oracle安装路径为:d:\Oracle 1.如果数据库配置了自动存储管理(ASM),应该先删除聚集同步服务CSS(cl ...
- A const field of a reference type other than string can only be initialized with null Error [duplicate]
I'm trying to create a 2D array to store some values that don't change like this. const int[,] hiveI ...