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, ...
随机推荐
- window下git,TortoiseGit安装,以及和github托管项目
下载地址:http://msysgit.github.io/,安装时最好是先装git,再安装TortoiseGit. 一.git安装 1.第一步 2.第二步 3.第三步 4.第四步 5.第五步 6.第 ...
- ffmpeg+HLS实现直播与回放
Nginx配置视频服务器 server { listen ; server_name localhost; location /hls{ add_header Access-Control-Allow ...
- tomcat jsp 数字串传值异常问题
1.在下面的jsp内嵌java代码去除num之前,有某Controller已经有了操作: request.getSession().setAttribute("num", ...
- 6.【应急响应】Linux入侵排查思路
0x01 入侵排查思路 一.账号安全 基本使用: 1.用户信息文件/etc/passwd root:x:0:0:root:/root:/bin/bash account:password:UID:GI ...
- JAVA IO包的整理---------InputStream和OutputStream
一:OutPutStream类: public abstract class OutputStream extends Object implements Closeable, Flushable 这 ...
- 【lunux-make: *** 没有规则可以创建目标“install”。 停止。问题】
[root@localhost nginx-1.8.0]# make installmake: *** 没有规则可以创建目标“install”. 停止.
- sqlserver2012——游标
游标:一种数据访问机制,允许用户访问单独的数据行而不是对整个行集进行操作.用户可以通过单独处理每一行逐条收集信息并对数据逐行进行操作,这样可以将降低系统开销. 游标主要有以下两部分: 游标结果集:由定 ...
- python之02数据类型学习-作业练习
题目: 购物车程序 salary = 5000 1. iphone6s 5800 2. mac book 9000 3. coffee 32 4. python book 80 5. bicyle 1 ...
- CacheManager 概述
1. CacheManager 管理缓存,而缓存可以是基于内存的缓存,也可以是基于磁盘的缓存 2. CacheManager 需要通过 BlockMananger 来操作数据: 3. 当 Task 运 ...
- bzoj 2827: 千山鸟飞绝
2827: 千山鸟飞绝 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 802 Solved: 228[Submit][Status][Discuss ...