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方式时,实体之间已经配置好关系,根据实际情况某些情况下需要同时获取导航属性,比如获取商品的同时需要获取分类属性(导航属性),或者基于优化方面考虑 ...
随机推荐
- SQL Server编程(05)游标
在关系数据库中,我们对于查询的思考是面向集合的.而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服. 正常面向集合的思维方式是: 而对于游标来说: ...
- php输出函数 var_dump, dump,print,print_r 区别
php输出函数 var_dump, dump,print,print_r 区别 周末有空就来整理下
- DOS下更改编码方式
使用CHCP命令,CHCP是Change Code Page的缩写. 936 简体中文GBK 437 美国英语 65001 UTF编码 如:chcp 65001则将dos窗口中的字符编码改为UTF编码 ...
- Tostring记录,方便自己查看
C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString ...
- Android请求返回417解决办法
今天碰到个很奇怪的问题,APP通过代理链接服务器会收到HTTP 417错误,经过网上查找发现是由于以下代码造成: HttpParams params = new BasicHttpParams(); ...
- C# WinForm自定义控件响应键盘事件
自己定义的winform控件,用其他键盘事件都无法响应,只有用ProcessCmdKey事件可以达到目的(别忘了主窗体的KeyPreview属性要设置为true),写法如下: prot ...
- db2新建数据库
一.建表空间和数据库 1.在db2ad.db2db和db2ap上均执行: [sql] view plaincopyprint? db2set db2comm=tcpip db2set db2codep ...
- Golang的Semicolons
Semicolons The formal grammar uses semicolons ";" as terminators in a number of production ...
- JVM学习总结五——性能监控及故障处理工具
之前扯了四篇理论,这一篇终于可以动动手了.本篇我们将介绍JVM常用的一些工具,这些工具将是我们监控JVM状态.处理故障和调优分析的利器. 不过在开始之前,我还是要先车扯两句:工具终归只是帮助我们我们处 ...
- AngularJS与RequireJS集成方案
关于angularjs.requirejs的基础知识请自行学习 一.简单事例的项目目录如下: -index.html -scripts文件夹 --controller文件夹 --- mianContr ...