EF删除所有数据行的方法.所以下面给大家介绍几种方法.

使用ExecuteStoreCommand方法,代码如下.

using (var db = new msdbEntities())

{

db.ExecuteStoreCommand("DELETE " + db.students.EntitySet.ElementType.Name);

}

使用 Entity FrameWork  删除数据,着实是一件比较头疼的数据,若是少量数据,可以使用以下方法删除

var delete=db.NikeDTCDailyReport.Where(u => true);
foreach (var item in delete)
{
db.NikeDTCDailyReport.Remove(item);
}
db.SaveChanges();

给数据实体添加一个扩展方法,执行一个删除的SQL命令.如下:

public static class Extens

{

public static void DeleteAllSql(this ObjectContext ctx, string sql)

{

var entityConnection = (System.Data.EntityClient.EntityConnection)ctx.Connection;

DbConnection conn = entityConnection.StoreConnection;

try

{

if (conn.State != ConnectionState.Open)

conn.Open();

using (DbCommand cmd = conn.CreateCommand())

{

cmd.CommandText = sql;

cmd.ExecuteNonQuery();

}

}

finally

{

if (conn.State != ConnectionState.Open)

conn.Close();

}

}

}

使用方法如下:

using (var db = new msdbEntities())

{

db.DeleteAllSql("DELETE Students");

}

时间: 2024-10-10 18:11:13

EF删除所有数据行的方法.所以下面给大家介绍几种方法.的相关文章

C# DataAdapter.Update() 无法更新数据表中删除的数据行

用DataAdapter.Update() 方法更新删除了部分DataRow 的 DataTable .但是数据库中的数据没有随着更新而变化. 原因:DataTable 删除 DataRow 时,使用的是DataTable.Rows.Remove(DataRow ) 或 DataTable.Rows.RemoveAt(DataRowIndex) 方法. 解决方法:使用 DataTable.Rows[rowIndex].Delete() ; 方法删除数据. 详解如下: DataAdapter.Up

Java 类的方法总结-目前网上最完整9种方法总结

定义一个完整的类方法,需要六个步骤,也就是六大部分.也因为这六个部分的不同而可以大概分为9种方法. 这是我一整天作图整理出来的.可能有些漏缺错误,希望大家能帮忙纠正.让我明白哪里错了,这是对我这个初学者最大的帮助,谢谢. 一,一般方法  二,构造方法  三,无参无返回值的方法.  四,无参有返回值的方法.  五,有参无返回值的方法.  六,有参有返回值的方法.  七,静态方法.  八,非静态方法.  九,抽象方法. 另外在加上  方法的重载  方法的重写.  方法的调用.  可能是目前关于jav

从一个用户导入数据到另一个用户的表中的4种方法

1.使用sys用户登陆:insert into 导入用户.表名 select * from 导出用户.表名例如:cms0706 -> cms0707 2. conn cms0706/[email protected]; 以t_ums_config为例 (1).select * from t_ums_config;(2).使用工具生成insert语句: Export Results -> SQL files conn cms0707/[email protected]; @+文件路径commit

linux系统:查看当前登录用户的信息,本文介绍3种方法

作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动.有些时候,你甚至需要知道他(她)们正在做什么.本文为我们总结了4种查看系统用户信息(通过编号(ID))的方法. 1. 使用w命令查看登录用户正在使用的进程信息 w命令用于显示已经登录系统的用户的名称,以及他们正在做的事.该命令所使用的信息来源于/var/run/utmp文件.w命令输出的信息包括: 用户名称 用户的机器名称或tty号 远程主机地址 用户登录系统的时间 空闲时间(作用不大) 附加到tty(终端)的进程所用的

在子视图中实现调用控制器里面的跳转方法这里介绍三种方法

方法一:在这个自定义的UIVIew设置一个delegate,指向 A,然后在按钮事件使用delegate让A执行方法跳转B 在这个自定义的UIVIew->B B所载的界面->A 在A里面定义一个算法如下: -(void)changeInterface:(NSString *)interfacename { Class class = NSClassFromString(interfacename); UIViewController *con =[[class alloc] init]; if

mysql 清空或删除表数据后,控制表自增列值的方法

http://blog.sina.com.cn/s/blog_68431a3b0100y04v.html 方法1: truncate table 你的表名 //这样不但将数据全部删除,而且重新定位自增的字段 方法2: delete from 你的表名 dbcc checkident(你的表名,reseed,0) //重新定位自增的字段,让它从1开始 方法3: 如果你要保存你的数据,介绍你第三种方法,by QINYI 用phpmyadmin导出数据库,你在里面会有发现哦 编辑sql文件,将其中的自

Greenplum/PostgreSQL中数据表数据去重的几种方法

GP主要用于数据仓库领域,在GP数据库中,如果由于ETL重复跑数导致数据重复的话,就需要进行去重复操作. 一种方法是把某一时间段的数据全部删掉,然后重新跑数据,这样其实工作量也比较大,需要补数据,重跑ETL. 另一种方法就是把重复的数据删掉就行,本文就是针对Greenplum分布式数据库如何进行去重复删除操作. 对于在PostgreSQL中,唯一确定一行的位置的是用ctid,可以用这个ctid作为一行的唯一标识:在Oracle中,数据表中的一行的唯一标识可以使用ROWID进行标识,这作为这一行的

SQL Server系列之 删除大量数据

一.写在前面 - 想说爱你不容易 为了升级数据库至SQL Server 2008 R2,拿了一台现有的PC做测试,数据库从正式库Restore(3个数据库大小夸张地达到100G+),而机器内存只有可怜的4G,不仅要承担DB Server角色,同时也要作为Web Server,可想而知这台机器的命运是及其惨烈的,只要MS SQL Server一启动,内存使用率立马飙升至99%.没办法,只能升内存,两根8G共16G的内存换上,结果还是一样,内存瞬间被秒杀(CPU利用率在0%徘徊).由于是PC机,内存

Android数据传递的五种方法汇总

Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起.它们各有利弊,有各自的应用场景. 我现在把它们集中到一个例子中展示,在例子中每一个按纽代表了一种实现方法. 1. 利用Intent对象携带简单数据 利用Intent的Extra部分来存储我们想要传递的数据,可以传送int, long, char等一些基础类型,对复杂的对象就无能为力了.         1.1 设置参数 [java] view plaincopy //传