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

继续为想使用Entity Framework的朋友在前面探路,分享的东西虽然技术含量不高,但都是经过实践检验的. 在Entity Framework中使用事务很简单,将操作放在TransactionScope中,并通过Complete()方法提交事务即可. 示例代码如下: TransactionScope的命名空间在System.Transactions下 using (BlogDbContext context =new BlogDbContext()) { using (Transactio…
Entity Framework  事务 结合第一篇的代码 public class BaseRepository : ITransaction, IDisposable { private XFDbContext dbContext; 之所以将数据上下文抽离出来,而不是每次使用都using,这样做就是为了在调用的时候,满足是同一个上下文,因为同一个上下文是事务性质的,在提交之前,如果一旦有异常,所有操作都会回滚 public bool Del(string id) { bool result…
ASP.NET Entity FrameWork中: int flag = -1; if (this.URPmanagementEntities1.Connection.State != System.Data.ConnectionState.Open) { this.URPmanagementEntities1.Connection.Open(); } var trans = this.URPmanagementEntities1.Connection.BeginTransaction();…
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 ed…
利用数据库链接进行事务操作 var db = ConnectionHelper.GetConn(ConnectionType.Write);//获取上下文 var conn = db.Connection;//取出数据库链接 conn.Open();//打开链接 using (var trans = conn.BeginTransaction()) 开启事务 { ServiceStationEntities db = null;            db = new ServiceStatio…
static public bool SaveOrUpdate<T>(T entity) where T: class { bool result = false; using (wechatEntities context = new wechatEntities()) { Type t = entity.GetType(); PropertyInfo[] properts = t.GetProperties(); PropertyInfo p = t.GetProperty("I…
dbSet.Attach(good); var stateEntry = ((IObjectContextAdapter)context).ObjectContext. ObjectStateManager.GetObjectStateEntry(good); stateEntry.SetModified(); stateEntry.SetModifiedProperty("Title"); stateEntry.SetModifiedProperty("UpdateDate…
抽象实体不能new 抽象类:人,实体类:学生 人 p_人= new 学生();   添加数据,学生和人都添加 抽象类可以提供一个抽象的方法,但是并没有实现,类似接口,但又不同于接口.子类继承父类时必须实现抽象的方法.这种形式有点想模板模式了.可以在父类中完成大部分功能,有特性的实现交给子类完成.当然抽象类中也可以不提供抽象方法. 首先,有对你写实体类做要求,抽象类里面的东西是要你必须去实现,因为其他地方很有可能要用到里面的东西.其次,给别的地方提供方便.比如说,其他的一个地方要调用你写的实体类,…
一个db.SaveChanges()相当于一个事务,多个db.SaveChanges()保证操作完整性则需要使用事务 在Entity Framework 中使用事务,事务只会对数据库操作进行回滚,不会对内存操作做回滚 1.一个db.SaveChanges(): ModelEntity集 db =new ModelEntity集(); Entity e=new Entity(); e.属性赋值……; db.SaveChanges(); 2.多个db.SaveChanges(): 添加引用:Syst…
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. Entity Framework新增数据 以新增用户为例,作为对比,先来看下使用Subsonic的代码: using (TransactionScope scope = new TransactionScope()) { XUser item = new XUser(); item.Name = tbxName.Text.Trim(); item.ChineseName =…
在上一篇文章中,我们使用Entity Framework 和SQL Server LocalDB创建了一个MVC应用程序,并使用它来存储和显示数据.在这篇文章中,你将对由 MVC框架自己主动创建的CRUD(create, read, update, delete)代码进行改动. 注意:通常我们在控制器和数据訪问层之间创建一个抽象层来实现仓储模式.为了将注意力聚焦在怎样使用实体框架上.这里暂没有使用仓储模式. 在本篇文章中,要创建的web页面: watermark/2/text/aHR0cDovL…
在博客园很久了,一直只看不说,这是发布本人的第一个博客. 总结一下在项目中,EntityFramework使用的一下经验拿来和大家分享,希望对大家有用~ 1.         在Entity Framework中使用事务 1) TransactionScope using (BlogDbContext context =new BlogDbContext()) { using (TransactionScope transaction =new TransactionScope()) { con…
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 关联表的查询操作 使用 Include 方法,我们可以在一次数据库查询中将关联表的数据一并取出. 比如查询在线用户列表页面,需要在前端显示关联的用户信息,如下所示: <x:Grid ID="Grid1" runat="server" BoxFlex="1" ShowBorder="true" Show…
Updating related data¶ 7 of 7 people found this helpful The Contoso University sample web application demonstrates how to create ASP.NET Core 1.0 MVC web applications using Entity Framework Core 1.0 and Visual Studio 2015. For information about the t…
一.首先了解下Entity Framework 自动关联查询: Entity Framework 自动关联查询,有三种方法:Lazy Loading(延迟加载),Eager Loading(预先加载),Explicit Loading(显式加载),其中Lazy Loading和Explicit Loading都是延迟加载. (注:由于Entity Framework版本的不同,以及采用不同的模式(DB First,Model First,Code First)来构建的Entity,最终导致可能自…
两个星期前,微软发布了EF Core 2.1 Preview 1,同时还发布了.NET Core 2.1 Preview 1和ASP.NET Core 2.1 Preview 1:EF Core 2.1 Preview 1 除了许多小改进和超过100种产品错误修复之外,还包括几个常用的新功能,今天我为您详细介绍这些新功能的部分内容. 实体构造函数参数 EF.Core 2.1开始支持在实体的构造函数的实体中转入参数,目前支持的类型如下: 实体属性 IOC容器中注册的服务 当前的DbContext…
ASP.NET MVC深入浅出系列(持续更新)   一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模式,ViewState功不可没,通过的控件的拖拽和绑定,很快就可以搭建出来一个Web项目,其开发速度远胜Java.PHP,当年Web项目并不很重视体验,没有今天响应式,没有各种前端js框架,所以在当年的WebForm,微软是以引以为豪的. 该框架毕竟有时代局限性,随着前端的崛起,随着人们对项目体验的…
public override int SaveChanges() { var changedEntities = ChangeTracker.Entries().Where(e => e.State == EntityState.Added || e.State == EntityState.Modified).ToList(); var now = DateTime.Now; changedEntities.ForEach(e => { if (e.State == EntityState…
因为看了<Entity Framework 6 Recipes 2nd Edition>这本书前面8章的翻译,感谢china_fucan. 从第九章开始,我是边看边译的,没有通读,加之英语造诣,所以纰漏百出,也请勿见笑,就当是鼓励! 有些小节空着是因为我写代码的时候,发现与书里的出入非常大,应该是ef版本问题,所以我暂且搁置(现在打算从此搁置,因为EF很快就出Core版本了)! 第9章 在N层结构的应用程序中使用EF 1.9-1 用Web Api更新单独分离的实体 2.9-2 用WCF更新单独…
为了方便大家的阅读和学习,也是响应网友的建议,在这里为这个系列做一个目录.在目录开始这前,我先来回答之前遇到的几个问题. 1.为什么要学习EF? 这个问题很简单,项目需要.这不像学校,没人强迫你学习! 我学习EF的原因主要是: a.EF是微软推荐的数据库访问技术: b.能提高我的开发效率,我不喜欢写那密密麻麻的SQL: c.比我写的SQL更合理,更快.目前EF生成的SQL的质量已经很高了.你比较熟悉SQL的话,那它在速度上肯定比不上你,新手的话就别跟我争快慢了,能写一像样的SQL就不错了.至少我…
第九章 在N层结构的应用程序中使用EF 不是所有的应用都能完全地写入到一个单个的过程中(就是驻留在一个单一的物理层中),实际上,在当今不断发展的网络世界,大量的应用程序的结构包含经典的表现层,应用程,和数据层,并且它们可能分布在多台计算机上,被分布到一台单独的计算机上的应用程序的某个领域的逻辑层,并不过多地涉及代理服务器编码,序列化,和网络协议,应用程序可以跨越很多设备,从小到一个移动设备到大到一个包含企业所有账户信息的数据服务器. 幸运的是,EF可应用于WCF,WEB Api等诸如此类的多层框…
最近用Entity Framework 开发的时候,发现一个问题,在默认情况下,EF不能对一个没有主键的表进行更新.插入和删除的动作. 那么,应该怎么处理没有主键的表呢? 我们打开这个表的edmx文件,可以看到以下的xml片段 <EntitySet Name="REP" EntityType="Model.Store.REP" store:Type="Tables" store:Schema="FOREST" store…
一组业务整体处理的行为叫一个事务.这一组的业务都能成功处理,我们就可以把这个事务提交来保存你已做的行为结果.事物的Commit是执行了你的方法进行了数据库的提交,之前的sava都是放在缓存中并没有执行到数据库. 1. 使用TransactionScope 这个写法最像ado.net的事务提交.需要引用System.Transactions命名空间. var invoiceDetailOriginal = InvoiceDetailService.Query(m => m.DetailID ==…
数据库中有一个City表 初始时数据: 实体类与Fluent Api配置映射 public class City { public int Id { get; set; } public string Name { get; set; } public int? ParentId { get; set; } } public class CityMap : EntityTypeConfiguration<City> { public CityMap() { ToTable("City…
在日常使用Entity Framework中,数据更新通常会用到.下面就简单封装了一个DBContext类 public partial class EFContext<T> : DbContext where T : class { public EFContext(): base("name=MyConnectionString") { } protected override void OnModelCreating(DbModelBuilder modelBuild…
在使用Entity Framework为主从表添加数据,当一个表添加数据成功,另一个表添加数据失败,这时候就需要用到事务回滚. 比如有以下关系的2张表. 客户端使用TransactionScope类可以实现事务回滚. class Program { static void Main(string[] args) { try { using (TransactionScope ts = new TransactionScope()) { using (CountryDetailsEntities…
使用EF6你有新的事务处理可以使用类似于: 复制代码 using (var context = new PostEntityContainer()) { using (var dbcxtransaction = context.Database.BeginTransaction()) { try { PostInformation NewPost = new PostInformation() { PostId = 101, Content = "This is my first Post re…
自从ADO.NET Entity Framework面世以来,受到大家的热捧,它封装了大量代码生成的工具,用户只需要建立好实体之间的关系,系统就是会为用户自动成功了Add.Delete.CreateObject.Attach.ToList......等等方法,这些方法基本上已经包含获取.删除.插入等基本方法,使用起来非常方便.只是在实体的更新上,由于LINQ面向的是泛型对象T,所以每个对象的更新方法都要由用户自动编辑.有见及此,下面在下利用反射方法,创建了一个更新工具,此工具可以更新Object…
一.安装Entity Framework 6 在项目中右击选择“管理NuGet程序包",联机搜索Entity Framework,点击安装 二.配置数据库连接 在App.config中加入数据库连接字符串的配置 <connectionStrings> <add name="DBContext" connectionString="data source=127.0.0.1;uid=sa;pwd=123;database=test;" pr…
在使用Entity Framework作为ORM来存取数据的过程中,最常规的操作就是对数据对象的更新.本文将会包含如何Attach Entity到一个数据Context中,以及如何使用EntityState字段状态来保存数据变化. 文本参考了如下两篇文章: https://msdn.microsoft.com/en-us/data/jj592676 https://stackoverflow.com/questions/30987806/dbset-attachentity-vs-dbconte…