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方式时,实体之间已经配置好关系,根据实际情况某些情况下需要同时获取导航属性,比如获取商品的同时需要获取分类属性(导航属性),或者基于优化方面考虑 ...
随机推荐
- Delete PeopleSoft Query From the Database
There could be different reasons why a PeopleSoft developer would like to delete a query from the da ...
- 多屏判断css改写
function replaceBodyClass(){ for(var i in map){ if(map[i](width)){ document.body.className = documen ...
- MongoDB(4):多种方式关闭服务命令
http://blog.csdn.net/czw698/article/details/8791153 MongoDB 提供几种关闭服务的命令,具体为以下: 一 使用 Crtl+C 关闭 [mong ...
- grep命令实战
显示/etc/rc.d/rc.sysinit中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行 grep "^#[[:space:]]\+.\+" /etc/rc ...
- 《安全参考》HACKCTO-201312-12
小编的话 “忽如一夜春风来,千树万树梨花开.” 小伙伴们,不要只为了“千树万树的梨花”而惊喜,陶醉! 与此同时,您最爱的整合型信息安全技术期刊<安全参考>第12期也如约而至啦! 这一期&l ...
- PHP实例 表单数据插入数据库及数据提取 用户注册验证
网站在进行新用户注册时,都会将用户的注册信息存入数据库中,需要的时候再进行提取.今天写了一个简单的实例. 主要完成以下几点功能: (1)用户进行注册,实现密码重复确认,验证码校对功能. (2)注册成功 ...
- 最新中国IP段获取办法与转成ROS导入格式
获取中国IP段办法 1.到APNIC获取亚太最新IP分配 http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest 2 ...
- Android 使用Fragment,ViewPagerIndicator 制作csdn app主要框架
转载 转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/23513993 本来准备下载个CSDN的客户端放手机上,没事可以浏览浏览资 ...
- ES5 vs ES6
ES5中 var React = require('react-native'); ES6中 import React from 'react-native'; .babelrc文件中添加一下内容 { ...
- swift学习初步(三)--控制流操作
在上一篇博客里面,我谈到了swift里面的一些基本类型以及相关的操作,相信你看了之后一定会觉得其实swift也不难嘛.好吧,这篇博客里面要谈的一些高级操作,可能会让你有点头疼了. 好了,废话不多说了, ...