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方式时,实体之间已经配置好关系,根据实际情况某些情况下需要同时获取导航属性,比如获取商品的同时需要获取分类属性(导航属性),或者基于优化方面考虑 ...
随机推荐
- PL/SQL Developer中文注释乱码的解决办法
1.检查服务器编码: 执行SQL语法: select * from v$nls_parameters; 2.设置本地客户端编码: 进入 我的电脑,属性,高级,环境变量,添加2项:LANG=zh_CN. ...
- C#使用结构来传递多个参数
当参数超过5个时,建议用结构来传递多个参数. 示例代码如下: public struct MyStruct { public string str; public int number; } clas ...
- Permission Lists Assigned to a User
SQL that I find useful in many occasions. It will return a list of permissions that are assigned to ...
- C#关于一个程序,只可以有一种实例的方法
方法一:使用线程互斥变量. 通过定义互斥变量来判断是否已运行实例.把program.cs文件里的Main()函数改为如下代码: 说明:程序中通过语句 System.Threading.Mutex ru ...
- float:left居中对齐
<div class="M1180"><div class="services"> <div class="serv_c ...
- 在Windows下Mysql如何重置root用户密码
原文链接:http://www.feeldesignstudio.com/2013/05/windows-mysql-root-password-reset 网上的很多在Windows下重置root用 ...
- yii在TbGridView的td里面加入相应的下拉选项(转)
当你需要在一个GridView渲染某一个复杂元素的时候(特别是在这种情况下,这是一个小部件),这就需要你在控制器中调用一个动作.例如你给一个GridView的定义这样的一列: <?php $th ...
- PHP学习之路 (2)
我们如果坚持用windows做PHP开发,就会错误不断,所以,无论如何都要学习Linux的使用和安装.说实话<鸟哥的linux私房菜>是一本非常不错的书,但是如果你想照着书上面一步一步安装 ...
- mybatis使用笔记
关于动态SQL里的条件查询(if test): 1.lombok插件和mybatis插件在有些变量名下会冲突,比如一个变量为rType的字段,lombok插件认为应该是getRType,但是mybat ...
- Service(一)----->简单计算
xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...