protected void Button1_Click(object sender, EventArgs e)
{
yyEntities _db;
_db = new yyEntities();

test t = new test();
t.testName = this.TextBox1.Text;
t.testCon = this.TextBox2.Text;
_db.AddObject("test", t);
_db.SaveChanges();

//using (var edm = new yyEntities())
//{

// test c = new test { testName = "c2", testCon = "成都市2" };
// edm.AddObject("test", c);
// int result = edm.SaveChanges();
//}

}

其中,在代码中,需要注意的是:AddObject方法中参数“entitySetName ”就是指对应实体名称,应该是:“Customers”,而不是“NorthwindEntities.Customers”;

l 更新:

using (var edm = new NorthwindEntities())

{

Customers addc = edm.Customers.FirstOrDefault(cc => cc.CustomerID == "c2");

addc.City = "CD";

addc.ContactName = "cnblogs";

addc.Country = "CN";

int result = edm.SaveChanges();

Assert.AreEqual (result, 1);

Customers updatec = edm.Customers.FirstOrDefault(cc => cc.CustomerID == "c2");

Console.WriteLine("CustomerId={0},City={1}", updatec.CustomerID, updatec.City);

}

其中,需要注意的是:不能去更新主键,否则会报“System.InvalidOperationException : 属性“xxx”是对象的键信息的一部分,不能修改。”

l 删除:

实例代码如下:

using (var edm = new NorthwindEntities())

{

Customers deletec = edm.Customers.FirstOrDefault(cc => cc.CustomerID == "c2");

edm.DeleteObject(deletec);

int result = edm.SaveChanges();

Assert.AreEqual (result, 1);

Customers c = edm.Customers.FirstOrDefault(cc => cc.CustomerID == "c2");

Assert.AreEqual (c, null );

}

l 事务:

实例代码如下:

NorthwindEntities edm = null ;

System.Data.Common.DbTransaction tran = null ;

try

{

edm = new NorthwindEntities();

edm.Connection.Open();

tran = edm.Connection.BeginTransaction();

Customers cst = edm.Customers.FirstOrDefault(cc => cc.CustomerID == "c#");

cst.Country = "CN";

cst.City = "CD";

edm.SaveChanges();

tran.Commit();

}
catch (Exception ex)
{
if (tran != null )
tran.Rollback();
throw ex;
}
finally
{
if (edm != null && edm.Connection.State != System.Data.ConnectionState.Closed)
edm.Connection.Close();
}

//  Skip(N) ,跳过前N条,Take(m)  ,取m条数据

var c=edm.Customers.OrderBy(c=>c.CustomerId).Skip(30).Take(20);//30-50

entity framework 新增,更新,事务的更多相关文章

  1. 在Entity Framework中使用事务

    继续为想使用Entity Framework的朋友在前面探路,分享的东西虽然技术含量不高,但都是经过实践检验的. 在Entity Framework中使用事务很简单,将操作放在TransactionS ...

  2. Entity Framework 第二篇 事务

    Entity Framework  事务 结合第一篇的代码 public class BaseRepository : ITransaction, IDisposable { private XFDb ...

  3. LinqToSql和ASP.NET Entity FrameWork 中使用事务

    ASP.NET Entity FrameWork中: int flag = -1; if (this.URPmanagementEntities1.Connection.State != System ...

  4. Entity Framework 4 数据事务操作

    利用数据库链接进行事务操作 var db = ConnectionHelper.GetConn(ConnectionType.Write);//获取上下文 var conn = db.Connecti ...

  5. .net entity framework 泛型 更新与增加记录

    static public bool SaveOrUpdate<T>(T entity) where T: class { bool result = false; using (wech ...

  6. entity framework 5 更新指定字段

    dbSet.Attach(good); var stateEntry = ((IObjectContextAdapter)context).ObjectContext. ObjectStateMana ...

  7. Entity Framework 新增实体,新增抽象实体

    抽象实体不能new 抽象类:人,实体类:学生 人 p_人= new 学生();   添加数据,学生和人都添加 抽象类可以提供一个抽象的方法,但是并没有实现,类似接口,但又不同于接口.子类继承父类时必须 ...

  8. Entity Framework 的事务

    一个db.SaveChanges()相当于一个事务,多个db.SaveChanges()保证操作完整性则需要使用事务 在Entity Framework 中使用事务,事务只会对数据库操作进行回滚,不会 ...

  9. AppBox升级进行时 - Entity Framework的增删改查

    AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. Entity Framework新增数据 以新增用户为例,作为对比,先来看下使 ...

随机推荐

  1. [原]Linux下清空文件内容的三种方法

    ========问题======== 有些文件需要清空内容而不改变属性 =======解决方案====== 1.直接删除,创建同名文件.(这种方法的弊端是有可能这个文件带着权限或者是属性,那么你新建这 ...

  2. jenkins之另辟蹊径实现根据svn项目实现智能选择

    项目要求,根据svn选择的trunk或branches及tags里的各分支,动态选择参数.一开始认为很简单,直接用jenkins中的List Subversion tags插件及active choi ...

  3. CSU 1804 - 有向无环图 - [(类似于)树形DP]

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1804 Bobo 有一个 n 个点,m 条边的有向无环图(即对于任意点 v,不存在从点 ...

  4. PyQT5初学(一)

    PyQt5 是Digia的一套Qt5与python绑定的应用框架,同时支持2.x和3.x.本教程使用的是3.x.Qt库由Riverbank Computing开发,是最强大的GUI库之一 ,官方网站: ...

  5. Mergeable Stack 直接list内置函数。(152 - The 18th Zhejiang University Programming Contest Sponsored by TuSimple)

    题意:模拟栈,正常pop,push,多一个merge A B 形象地说就是就是将栈B堆到栈A上. 题解:直接用list 的pop_back,push_back,splice 模拟, 坑:用splice ...

  6. mybatis-3 cache 源码赏析

    总结: 从缓存策略源码,可以分析java相关类库 mybatis-3/src/main/java/org/apache/ibatis/cache/decorators/SoftCache.java p ...

  7. flask操作简章

    https://blog.csdn.net/u011054333/article/details/70151857

  8. OKEX API(Websocket)

    本文介绍OKEX API Websocket WebSocket API for SPOT 开始使用 WebSocket是HTML5一种新的协议(Protocol).它实现了客户端与服务器全双工通信, ...

  9. EasyUI 基本的拖动和放置

    <!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Ba ...

  10. Netty In Action中文版 - 第三章:Netty核心概念

            在这一章我们将讨论Netty的10个核心类.清楚了解他们的结构对使用Netty非常实用.可能有一些不会再工作中用到.可是也有一些非经常常使用也非常核心,你会遇到. Bootstrap ...