using (var db = new Entities())
{
//数据操作
}

新增

string sql = "insert into UserInfo values('zhangsan','123456')";
db.Database.ExecuteSqlCommand(sql);

参数化新增

    sql = "insert into UserInfo values(@UserName,@UserPass)";
var param = new SqlParameter[]
{
new SqlParameter("@UserName","lisi"),
new SqlParameter("@UserPass","123456")
};
db.Database.ExecuteSqlCommand(sql, param);

删除

    sql = "delete from UserInfo where UserName='zhangsan'";
db.Database.ExecuteSqlCommand(sql);

参数化删除

    sql = "delete from UserInfo where UserName=@UserName";
db.Database.ExecuteSqlCommand(sql, new SqlParameter("@UserName", "lisi"));

修改

    sql = "update UserInfo set UserName='wangwu'";
db.Database.ExecuteSqlCommand(sql);

查询多条记录

    sql = "select * from UserInfo";
var users = db.Database.SqlQuery<UserInfo>(sql);
foreach (var user in users)
{
ObjectDumper.Write(user);//打印对象
}

总结:操作方式与ADO.NET类似,EF框架自动为我们封装了数据库链接和查询对象。

完整案例:

//1.创建上下文对象
using (var db = new Entities())
{
//增
string sql = "insert into UserInfo values('zhangsan','123456')";
db.Database.ExecuteSqlCommand(sql); //参数化新增
sql = "insert into UserInfo values(@UserName,@UserPass)";
var param = new SqlParameter[]
{
new SqlParameter("@UserName","lisi"),
new SqlParameter("@UserPass","123456")
};
db.Database.ExecuteSqlCommand(sql, param); //删
sql = "delete from UserInfo where UserName='zhangsan'";
db.Database.ExecuteSqlCommand(sql); //参数化删除
sql = "delete from UserInfo where UserName=@UserName";
db.Database.ExecuteSqlCommand(sql, new SqlParameter("@UserName", "lisi")); //改
sql = "update UserInfo set UserName='wangwu'";
db.Database.ExecuteSqlCommand(sql); //原生sql查询
sql = "select * from UserInfo";
var users = db.Database.SqlQuery<UserInfo>(sql);
foreach (var user in users)
{
ObjectDumper.Write(user);//打印对象
}
}

在EF中使用原生SQL,首先要创建上下文对象的更多相关文章

  1. EF中执行原生sql与使用Local获取本地数据

    使用DbSet的Local属性可以访问当前context中被追踪且没有被标记为删除的实体(内存中的数据) using (var context = new BloggingContext()) { / ...

  2. django中使用原生sql

    在Django中使用原生Sql主要有以下几种方式: 一:extra:结果集修改器,一种提供额外查询参数的机制 二:raw:执行原始sql并返回模型实例 三:直接执行自定义Sql ( 这种方式完全不依赖 ...

  3. Django中执行原生SQL语句【新编辑】

    参考我的个人博客 这部分迁移到了个人博客中:Django中执行原生SQL语句 这里需要补充一下,还有一个extra方法: ret = models.Student.objects.all().extr ...

  4. thinkPHP框架中执行原生SQL语句的方法

    这篇文章主要介绍了thinkPHP框架中执行原生SQL语句的方法,结合实例形式分析了thinkPHP中执行原生SQL语句的相关操作技巧,并简单分析了query与execute方法的使用区别,需要的朋友 ...

  5. 在ABP中通过EF直接执行原生Sql的解决方案

    一般情况下,使用EF中的查询语法和方法语法可以帮助我们完成绝大部分业务,但是也有特殊的情况需要直接执行Sql语句.比如,我们的业务过于复杂繁琐,或是有些业务使用EF操作时比较复杂,但是使用Sql时会很 ...

  6. EF core的原生SQL查询以及用EF core进行分页查询遇到的问题

    在用.net core进行数据库访问,需要处理一些比较复杂的查询,就不得不用原生的SQL查询了,然而EF Core 和EF6 的原生sql查询存在很大的差异. 在EF6中我们用SqlQuery和Exe ...

  7. C# 在EF中直接运行SQL命令

    相信不少使用EF的同志们已经知道如何在EF中运行SQL命令了.我在这里简单总结下,希望对大家学习EF有所帮助! 在 EF第一个版本(.NET 3.5 SP1)中,我们只能通过将ObjectContex ...

  8. django系列5.4--ORM中执行原生SQL语句, Python脚本中调用django环境

    ORM执行原生sql语句 在模型查询API不够用的情况下,我们还可以使用原始的SQL语句进行查询. Django 提供两种方法使用原始SQL进行查询:一种是使用raw()方法,进行原始SQL查询并返回 ...

  9. 在Hibernate中使用原生SQL语句

    使用原生SQL查询必须注意:程序必须选出所有的数据列才可被转换成持久化实体.假设实体在映射时有一个<many-to-one../>的关联指向另外一个实体,则SQL查询中必须返回该<m ...

随机推荐

  1. LTC

    LTC 即 L2C,Leads To Cash,从线索到现金的企业运营管理思想,是以企业的营销和研发两大运营核心为主线,贯穿企业运营全部流程,深度融合了移动互联.SaaS技术.大数据与企业运营智慧,旨 ...

  2. 阻止a链接跳转的点击事件

    <a href="http://www.baidu.com" id="btn">按钮</a> <script> docume ...

  3. Hyperparameter tuning

    超参数调整 详细可以参考官方文档 定义 在拟合模型之前需要定义好的参数 适用 Linear regression: Choosing parameters Ridge/lasso regression ...

  4. PAT (Basic Level) Practice (中文)1030 完美数列 (25 分) (有点意思)

    给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列. 现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列. 输入格 ...

  5. 2019.2.21 T2题解

    meet 大概思路就是 , 找出相交的路径 , 判断方向 , 分类讨论.. 假设已经找出了相交路径 ... 若方向相同 , 则找到相交路径上边权的最大值 , 若最大值>出发时间差 , 则可行. ...

  6. mysql 行锁 表锁

    MySQL数据库 - 引擎: - innodb - 支持事务 - 锁 - 行锁 - 表锁 - 示例: - 终端: begin; select xx from xx for update; commit ...

  7. 翻转引起 cocos studio 引擎与cocos2d 代码相同坐标显示不同

    使用setFlippedX后,又改变锚点为1.此时代码中坐标需要相对于cocos studio 中增加它本身的width,因为(0.5,0.5)是相对于自己中点的翻转,不变坐标.而(1,0.5)是相对 ...

  8. CSS-使用CSS样式的方式

    1.HTML<!DOCTYPE>声明标签 (1)定义和用法 <!DOCTYPE>声明必须是HTML文档的第一行,位于<html>标签之前. <!DOCTYPE ...

  9. hdu1005 矩阵快速幂

    #include<iostream> #include<cstdio> #include<cstring> #include<set> #include ...

  10. ORACLE不常用但实用的技巧- 树查询 level用法

    树查询 使用树查询的前提条件是: 在一条记录中记录了当前节点的ID和这个节点的父ID. 注意:一旦数据中出现了循环记录,如两个节点互为对方的父结点,系统就会报 ORA-01436错误(ORA-0143 ...