Entity Framework公共的增删改方法
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.Infrastructure; namespace My
{
/// <summary> Entity Framework公共的增删改方法。返回的是受影响的行数 </summary>
public class PublicStore
{
//新增
public static int InsertObject(object obj)
{
Type t = obj.GetType();
int effect = -;
using (MyContext con = new MyContext())
{
DbSet set = con.Set(t);
set.Add(obj);
effect = con.SaveChanges();
return effect;
}
} //批量新增
public static int InsertObjects(IEnumerable<object> objs)
{
int effect = ; var et = objs.GetEnumerator();
if (et.MoveNext())
{
Type t = et.Current.GetType();
using (MyContext con = new MyContext())
{
DbSet set = con.Set(t);
foreach (var o in objs)
{
set.Add(o);
}
effect = con.SaveChanges();
}
} return effect;
} //修改
public static int ModifyObject(object obj)
{
int effect = -;
using (MyContext con = new MyContext())
{
DbEntityEntry entry = con.Entry(obj);
entry.State = System.Data.EntityState.Modified;
effect = con.SaveChanges();
return effect;
}
} //批量修改
public static int ModifyObjects(IEnumerable<object> objs)
{
int effect = ;
var et = objs.GetEnumerator();
if (et.MoveNext())
{
Type t = et.Current.GetType();
using (MyContext con = new MyContext())
{
foreach (var o in objs)
{
DbEntityEntry entry = con.Entry(o);
entry.State = System.Data.EntityState.Modified;
}
effect = con.SaveChanges();
}
} return effect;
} //删除
public static int DeleteObject(object obj)
{
int effect = -;
using (MyContext con = new MyContext())
{
DbEntityEntry entry = con.Entry(obj);
entry.State = System.Data.EntityState.Deleted;
effect = con.SaveChanges();
return effect;
}
} //批量删除
public static int DeleteObjects(IEnumerable<object> objs)
{
int effect = ; var et = objs.GetEnumerator();
if (et.MoveNext())
{
Type t = et.Current.GetType();
using (MyContext con = new MyContext())
{
foreach (var o in objs)
{
DbEntityEntry entry = con.Entry(o);
entry.State = System.Data.EntityState.Deleted;
}
effect = con.SaveChanges();
}
}
return effect;
}
}
}
Entity Framework公共的增删改方法的更多相关文章
- entity framework 新手入门篇(2)-entity framework基本的增删改查
经过前两节的简单描述,终于可以进入entity framework的使用部分了.本节将对entity framework原生的增删改查进行讲解. 承接上面的部分,我们有一个叫做House的数据库,其中 ...
- entity framework 5 批量增删改效率优化
对于数据的批量增删改最慢的就是操作一条就提交一次事务. 以下是对增删改操作的优化测试 同样的300条数据 批量新增只提交一次事务 用时:10673.5444ms 批量新增只提交一次事务并把contex ...
- 手把手教你ASP.NET Core:使用Entity Framework Core进行增删改查
新建表Todo,如图 添加模型类 在"解决方案资源管理器"中,右键单击项目. 选择"添加" > "新建文件夹". 将文件夹命名为 Mo ...
- ASP.NET CORE系列【三】使用Entity Framework Core进行增删改查
身份验证 以前我们熟悉的web.config中配置的form验证,现在没有了.我们来看看在Core里面如何配置: 首先需要NuGet安装一个包:Microsoft.AspNetCore.Authent ...
- Entity Framework学习 - 2.增删改查
1.增加数据 PirateBayEntities db = new PirateBayEntities(); T_Tests test = new T_Tests(); test.Name = &qu ...
- ASP.NET CORE系列【二】使用Entity Framework Core进行增删改查
介绍 EntityFrameworkCore EF core 是一个轻量级的,可扩展的EF的跨平台版本.对于EF而言 EF core 包含许多提升和新特性,同时 EF core 是一个全新的代码库,并 ...
- Django REST framework 五种增删改查方法
Django-DRF-视图的演变 版本一(基于类视图APIView类) views.py: APIView是继承的Django View视图的. 1 from .serializers impor ...
- MongoDB学习笔记~为IMongoRepository接口添加了增删改方法,针对官方驱动
回到目录 上一讲说了MongoDB官方驱动的查询功能,这回说一下官方驱动的增删改功能,驱动在升级为2.0后,相应的insert,update和delete都只有了异步版本(或者叫并行版本),这当然也是 ...
- Entity Framework DbSet<T>之Include方法与IQueryable<T>扩展方法Include的使用
Entity Framework使用Code First方式时,实体之间已经配置好关系,根据实际情况某些情况下需要同时获取导航属性,比如获取商品的同时需要获取分类属性(导航属性),或者基于优化方面考虑 ...
随机推荐
- silverlight水印
1.自定义类 using System; using System.Net; using System.Windows; using System.Windows.Controls; using Sy ...
- 集群session的一致性
一. 何为session 用户使用网站的服务,基本上需要浏览器和web服务器进行多次交互,web服务器如何知道哪些请求是来自哪个会话的? 具体方式为:在会话开始时,分配一个唯一的会话标识(sessio ...
- Redis监控方案
Redis 监控最直接的方法当然就是使用系统提供的 info 命令来做了,你只需要执行下面一条命令,就能获得 Redis 系统的状态报告. redis-cli info 内存使用 如果 Redis 使 ...
- Laravel 5 基础(十一)- 表单验证
在建立一个文章的时候,如果你什么都不输入直接提交,ok,你获得了一个空的文章,没有任何错误提示,这是不对的.在命令行下运行 php artisan 可以看到一个选项 make:request,新建一个 ...
- 基于Memcached的Session共享问题
把Memcached的key(Guid)写入浏览器的cookie(类比SessionId) 存值: string sessionId = Guid.NewGuid().ToString(); Comm ...
- SqlBulkCopy 插入100W条数据时 属性BatchSize的作用
(1)100W条insert语句在一个连接内一句一句加 花了01:17:19.0542805 (2) SqlBulkCopy 插入100W条数据 设置BatchSize=500 耗时:00:03:29 ...
- ubuntu 14.04 下安装jdk8及 smartgithg
公司使用git作为源码管理,又需要在ubuntu下工作,然后,自己就找了找,目前ubuntu下的git gui客户端,感觉 smartgit算是其中比较好用的一个,下边是具体安装步骤 说明,smart ...
- 内核同步机制 RCU
Evernote分享地址:http://www.evernote.com/shard/s133/sh/8807320d-f54d-4e90-a31b-e2a3d35509ee/7539dc3931b8 ...
- Android 文档之viewAnimator
一.结构 public class ViewAnimator extends FrameLayout java.lang.Object android.view.View android.view.V ...
- ubuntu 修改ssh远程主机名称,mac开机运行命令,静默方式启动virtual box虚拟机,静默执行run脚本
一.修改主机名 ssh登陆 vi /etc/hostname vi /etc/hosts hostname ulocal (执行这个命令,无须重启服务器) 保证127.0.0.1 的hostname与 ...