Entity Framework 批量删除
来源:互联网 发布:网络摄像头焦距 编辑:程序博客网 时间:2024/06/04 18:46
1、使用 Entity FrameWork 删除数据,着实是一件比较头疼的数据,若是少量数据,可以使用以下方法删除
using (DB.Entity.StudentDBEntities context = new DB.Entity.StudentDBEntities())
{
foreach (var item in context.Students.Where(row => row.Isleft == true))
{
context.DeleteObject(item);
}
context.SaveChanges();
}
2、但是若是要删除的数据有个三五万,10万20万那该如何,若采用上述方法,保守估计也得10分钟吧,不信,你可以写个程序,打开SQL Server Profiler试一下,这时,若你不想另外配置连接字符串,可以借用EF的连接字符串,使用ADO.Net 完成批量删除功能
.net Framework 3.5
public static void DeleteObject(SqlBtmsModel context, string deleteString)
{
var bindingFlags = BindingFlags.Instance | BindingFlags.NonPublic;
var factoryProperty = typeof(EntityConnection).GetProperty("StoreProviderFactory", bindingFlags);
var factory = factoryProperty.GetValue(context.Connection, null) as DbProviderFactory;
var connStr = (context.Connection as EntityConnection).StoreConnection.ConnectionString;
using (var conn = factory.CreateConnection())
{
conn.ConnectionString = connStr;
conn.Open();
var cmd = factory.CreateCommand();
cmd.Connection = conn;
cmd.CommandText = deleteString;
cmd.ExecuteNonQuery();
}
}
Ø .Net FrameWork 4.0
当然,若是你使用的是 .Net FrameWork 4.0,那你可以使用以下 方式。
using (DB.Entity.StudentDBEntities context = new DB.Entity.StudentDBEntities())
{
context.ExecuteStoreCommand("delete from Students where StudentId = @studentId", new SqlParameter("@studentId", 5));
context.ExecuteStoreCommand("insert into students (StudentName)values (@p1)", new SqlParameter("@p1", "test"));
}注:3.5不支持此方式。
可能有人,想使用EntityCommand 进行批量删除,但是EntityCommand 仅支持 EntitySql ,问题就在这里了,EntitySql 目前不支持 Insert 、Delete 、Update操作,静等微软的下一步动作吧。
- Entity Framework 批量删除
- entity framework 批量删除
- entity framework 批量操作
- Entity Framework(3)删除
- Entity Framework中的批量提交与事务处理
- Entity Framework中的批量提交与事务处理
- Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
- Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
- Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
- Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
- Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
- entity framework 删除多条数据?
- Entity Framework Code First级联删除
- Entity Framework Code First级联删除
- 批量操作可显著提升Entity Framework的性能
- 批量操作可显著提升Entity Framework的性能
- 批量操作可显著提升Entity Framework的性能
- Entity FrameWork
- HookLogger检查内存泄漏
- vimrc
- Symbian中使用活动对象的三种典型设计(转载)
- 有些事没有值得不值得
- 关于非诚勿扰百度专场
- Entity Framework 批量删除
- 把textbox中的文本按照/r/n拆分成string[]
- Android WiFi 电源管理
- ASP中conn,1,1和conn,1,3 conn,3,3 conn,2,3 conn,3,2详解
- 在Android中监视wifi状态
- C语言中随机数产生
- 什么是爱情?
- Talking about Android Process
- 激动啊,终于找到了免费下载文献的地方