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公共的增删改方法的更多相关文章

  1. entity framework 新手入门篇(2)-entity framework基本的增删改查

    经过前两节的简单描述,终于可以进入entity framework的使用部分了.本节将对entity framework原生的增删改查进行讲解. 承接上面的部分,我们有一个叫做House的数据库,其中 ...

  2. entity framework 5 批量增删改效率优化

    对于数据的批量增删改最慢的就是操作一条就提交一次事务. 以下是对增删改操作的优化测试 同样的300条数据 批量新增只提交一次事务 用时:10673.5444ms 批量新增只提交一次事务并把contex ...

  3. 手把手教你ASP.NET Core:使用Entity Framework Core进行增删改查

    新建表Todo,如图 添加模型类 在"解决方案资源管理器"中,右键单击项目. 选择"添加" > "新建文件夹". 将文件夹命名为 Mo ...

  4. ASP.NET CORE系列【三】使用Entity Framework Core进行增删改查

    身份验证 以前我们熟悉的web.config中配置的form验证,现在没有了.我们来看看在Core里面如何配置: 首先需要NuGet安装一个包:Microsoft.AspNetCore.Authent ...

  5. Entity Framework学习 - 2.增删改查

    1.增加数据 PirateBayEntities db = new PirateBayEntities(); T_Tests test = new T_Tests(); test.Name = &qu ...

  6. ASP.NET CORE系列【二】使用Entity Framework Core进行增删改查

    介绍 EntityFrameworkCore EF core 是一个轻量级的,可扩展的EF的跨平台版本.对于EF而言 EF core 包含许多提升和新特性,同时 EF core 是一个全新的代码库,并 ...

  7. Django REST framework 五种增删改查方法

    Django-DRF-视图的演变   版本一(基于类视图APIView类) views.py: APIView是继承的Django View视图的. 1 from .serializers impor ...

  8. MongoDB学习笔记~为IMongoRepository接口添加了增删改方法,针对官方驱动

    回到目录 上一讲说了MongoDB官方驱动的查询功能,这回说一下官方驱动的增删改功能,驱动在升级为2.0后,相应的insert,update和delete都只有了异步版本(或者叫并行版本),这当然也是 ...

  9. Entity Framework DbSet<T>之Include方法与IQueryable<T>扩展方法Include的使用

    Entity Framework使用Code First方式时,实体之间已经配置好关系,根据实际情况某些情况下需要同时获取导航属性,比如获取商品的同时需要获取分类属性(导航属性),或者基于优化方面考虑 ...

随机推荐

  1. HTML的结束标签问题

    根据w3c的原则,xml的每个开始标签必须有一个结束标签与之对应,也就是<html>必须要有</html>结束,才是一个完整的元素,除非它是一个自封闭标签,自封闭就是<i ...

  2. 最近的学习的linux命令笔记

    vmstat 2 2 mail -s nihao root < test.txt     f 323   h 300-310 crontab  -l,-e,-r    vim /etc/cron ...

  3. 定时重启Apache与MySQL方法

    可以定时重启apache服务器等.让网站运行的效果更快. 采用at命令添加计划任务. 有关使用语法可以到window->“开始”->运行“cmd”->执行命令“at /”,这样界面中 ...

  4. 每天进步一点--c#基础巩固,事件、委托

    要想技术有所提高,就是把有些问题真正的弄懂弄明白,我从事C#开发两年了,一直对事件委托等概念一知半解,有时候博客园上看看别的大牛的文章,看看懂了就过去了,时间长了又忘了,真正理解还是要自己动手弄些例子 ...

  5. 查看binlog文件的2种方式

    1.使用show binlog events a.获取binlog文件列表 mysql> show binary logs; +------------------+-----------+ | ...

  6. linux积累

    在多文件中批量替换字符串grep -rl 'windows' ./ | xargs sed -i 's/windows/linux/g'

  7. Android WebView代理设置方法(API10~21适用)

    最近碰到个需求需要在APP中加入代理,HttpClient的代理好解决,但是WebView碰到些问题,然后找到个API10~API21都通用的类,需要用的同学自己看吧,使用方法,直接调用类方法setP ...

  8. EMVTag系列12《卡片内部风险管理数据》

    Ø  9F53    连续脱机交易限制数(国际-货币) L: 1 -C(有条件):如果执行国际-货币频度检查 PBOC专有数据元. 不使用指定应用货币的连续脱机交易次数最大数,超过后交易请求联机 模板 ...

  9. wpa_supplicant 使用

    (1)通过adb命令行,可以直接打开supplicant,从而运行wpa_cli,可以解决客户没有显示屏而无法操作WIFI的问题,还可以避免UI的问题带到driver.进一步来说,可以用在很多没有键盘 ...

  10. 89C51单片机实现的流水灯

    /*******************************************Copyright:  2014.02.09.version1.0File name: led.cDescrip ...