EF增删查改加执行存储过程和sql语句,多种方法汇总
ActionUrl c = new ActionUrl() { ActionName="test", RequestUrl="/123/123", SubTime=DateTime.Now };
//增
using (EntityContext db = new EntityContext())
{
/*方法1*/
db.ActionUrls.Add(c);
db.SaveChanges();
/*方法2*/
db.Set<ActionUrl>().Attach(c);
db.Entry<ActionUrl>(c).State = EntityState.Added;
db.SaveChanges();
//return c;
/*方法3*/
//EF4.0的写法
//db.CreateObjectSet<T>().AddObject(entity);
}
//查
using (EntityContext db = new EntityContext())
{
c = db.ActionUrls.Where(t => t.ActionName == "test").FirstOrDefault();
}
//改
using (EntityContext db = new EntityContext())
{
/*方法1*/
c.ActionName = "test001";
db.ActionUrls.Attach(c);
db.Entry<ActionUrl>(c).State = EntityState.Modified;
db.SaveChanges();
/*方法2*/
c.ActionName = "test002";
db.SaveChanges();
//return db.SaveChanges() > 0;
/*方法3*/
//EF4.0的写法
//db.CreateObjectSet<T>().Addach(entity);
//db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
}
//删
using (EntityContext db = new EntityContext())
{
/*方法1*/
//此处删除的对象不能是自己定义出来的对象,只能是数据库查询出来的对象
c = db.ActionUrls.Where(t => t.ActionName == "test").FirstOrDefault();
db.ActionUrls.Remove(c);
db.SaveChanges();
/*方法2*/
//c = db.ActionUrls.Where(t => t.ActionName == "test").FirstOrDefault();
db.Set<ActionUrl>().Attach(c);
db.Entry<ActionUrl>(c).State = EntityState.Deleted;
db.SaveChanges();
//return db.SaveChanges() > 0;
/*方法3*/
//EF4.0的写法
//db.CreateObjectSet<T>().Addach(entity);
//db.ObjectStateManager.ChangeObjectState(entity, EntityState.Deleted);
}
//存储过程和sql语句
EntityContext dbsql = new EntityContext();
SqlParameter[] parameters = new SqlParameter[]{
new SqlParameter("@name",SqlDbType.NVarChar)
};
parameters[].Value = "test";
//执行strSql/procSql
//返回受影响的行数
int i = dbsql.Database.ExecuteSqlCommand("exec getActionUrlId @name", parameters);
List<ActionUrl> dd01 = dbsql.Database.SqlQuery(typeof(ActionUrl), "exec getActionUrlId @name", parameters).Cast<ActionUrl>().ToList();
//执行strSql/procSql
//返回数据的集合
List<ActionUrl> dd02 = dbsql.Database.SqlQuery<ActionUrl>("exec getActionUrlId @name", parameters).ToList();//返回查询到的实体集合
大致的增删查改和存储过程,执行sql语句和执行存储过程差不多。只有删除比较特殊!
EF增删查改加执行存储过程和sql语句,多种方法汇总的更多相关文章
- EF各版本增删查改及执行Sql语句
自从我开始使用Visual Studio 也已经经历了好几个版本了,而且这中间EF等框架的改变也算是比较多的.本篇文章记录下各个版本EF执行Sql语句和直接进行增删查改操作的区别,方便自己随时切换版本 ...
- MVC学习之路(1) EF 增删查改合集
首先再Model中创建一个类[WMBlogDB] public class WMBlogDB : DbContext { //连接字符串. public WMBlogDB() : base(" ...
- EF增删查改(三)------终极版
1.Add #region 1.1 新增学生信息(定义成Int类型,返回受影响的行数) /// <summary> /// 新增学生信息 /// </summary> /// ...
- EF增删查改基类
/// <summary> /// EF DAL CURD基类 /// </summary> /// <typeparam name="T">& ...
- 三种记录 MySQL 所执行过的 SQL 语句的方法
程式 Debug 有時後從前面第一行追起來很辛苦(程式碼太多或 compile 過), 另一種做法就是從後面追起來, 反正最後寫入的是 DB, 那就從 DB 開始往前推, 所以就是要抓程式是執行哪些 ...
- Entity Framework(三)---FluentAPI和增删查改
一.FluentAPI: 1.基本配置: namespace ConsoleApp14.ModelConfig { public class PersonConfig: EntityTypeConfi ...
- 一套手写ajax加一般处理程序的增删查改
倾述下感受:8天16次驳回.这个惨不忍睹. 好了不说了,说多了都是泪. 直接上代码 : 这个里面的字段我是用动软生成的,感觉自己手写哪些字段太浪费时间了,说多了都是泪 ajax.model层的代码: ...
- 3.EF 6.0 Code-First实现增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-entity-framework-5-0-code- ...
- JDBC终章- 使用 DBUtils实现增删查改- C3P0Utils数据源/QueryRunner runner连接数据源并执行sql
JDBC终章- 使用 DBUtils实现增删查改 1.数据库结构 Create Table CREATE TABLE `user` ( `id` ) NOT NULL AUTO_INCREMENT, ...
随机推荐
- uva 512
1. 问题 不知道怎么存储操作 看代码注释,else if等 2. 代码 #include <iostream> #include <stdio.h> #include < ...
- 最近一直是web前段,没什么意思,所以就不发资料了
最近一直是web前段,没什么意思,所以就不发资料了 版权声明:本文为博主原创文章,未经博主允许不得转载.
- JAVA基础知识总结3(面向对象)
特点:过程其实就是函数:对象是将函数等一些内容进行了封装 1:将复杂的事情简单化. 2:面向对象将以前的过程中的执行者,变成了指挥者. 3:面向对象这种思想是符合现在人们思考习惯的一种思想. 匿名对象 ...
- JDBC编程之数据查询
----------------siwuxie095 JDBC 编程之数据查询 首先下载 MySQL 的 JDBC 驱动 ...
- Win10 上 安装Arduino 驱动 和 Arduino IDE 1.6.9
Win10 安装Arduino IDE软件 和 驱动 在Win10 上安装最新的Arduino IDE (1.6.9安装包)很简单,并且不行要手动安装Arduino板子的驱动,整个安装过程都当前的简单 ...
- Python短小精悍的Orator查询构造器
查询构造器 介绍 这个数据库查询构造器,提供便利的接口可以创建和执行查询操作,可以在大多数数据库中使用. 查询select操作 查询表中所有的数据. users = db.table('users') ...
- 第一周作业-Linux基础入门
写在前面 实验楼中linux基础入门的内容很多,几乎涵盖了所有的常用命令.命令的记忆不是一朝一夕的,更不能死记硬背,在实践中多操作,熟悉后自然就记住了.我没有将对每个命令操作结果都截图记录下来(事实上 ...
- 解决IIS出现的问题
- System.Threading.Thread的使用及传递参数等总结
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- Web——页面“传值、赋值”与页间“传值”
前言 前期我们学习C/S开发的时候,采用三层架构,U层的参数在每个层之间传来传去,那么现在我们接触到的B/S,在Web前端是如何与后台进行传值赋值呢?由于本人是菜鸟一枚,下面写的不恰当的地方,望路过的 ...