linq to entity 如何事务处理

问题描述

主表:tblMain{uid,...}从表1:tblDetail1{uid,puid,...}从表2:tblDetail2{uid,puid,....}using(DBEntitiescontext=newDBEntities()){tblMaintm=newtblMain{......};tblDetail1td1=newtblDetail1{puid=tm.uid,.....};//???tm.uid=??tblDetail2td2=newtblDetail2{puid=tm.uid,.....};context.AddTotblMain(tm);context.AddTotblDetail1(td1);context.AddTotblDetail2(td2);context.SaveChanges();}如何让从表的puid等于主表的uid

解决方案

解决方案二:
context.SaveChanges()内部通常会封装一个事务,提交当前上下文所有的更新操作。主从表的关系由你在context作用域内设置,LINQtoEntity会自动更新彼此的引用。
解决方案三:
引用1楼abbey的回复:

context.SaveChanges()内部通常会封装一个事务,提交当前上下文所有的更新操作。主从表的关系由你在context作用域内设置,LINQtoEntity会自动更新彼此的引用。

如何设置
解决方案四:
就是设置彼此的导航属性的值啊,比如Parent.Sons.Add(son);这样的

时间: 2024-10-27 23:43:57

linq to entity 如何事务处理的相关文章

Entity SQL与LINQ TO Entity的本质区别

由此可以看出其最终都转移成Command Tree 然后再转换成对应数据库的T-SQL语句,本质差别不大 ,但是有时执行特殊查询语句的时候还是有点不一样的,因为Entity SQL的T-SQL语句是我们自己定义的,而 LINQ to Entity最后转换的T-SQL语句是由Entity引擎转换的,有时我们用SQL Server Profiler检测执行的 SQL语句的时候LINQ to Entity执行的SQL往往让我们不容易理解,所以在需要对某些查询/修改/更新执行操作 的时候如果发现执行效率

SQL2008 LINQ to Entity

准备工作 预计完成本实验所需的时间 40 分钟 目标 在完成本实验后,您将可以: •创建数据库的实体数据模型 •使用LINQ查询语言访问实体数据模型 先决条件 在完成本实验前,您必须具有: •使用C#编写ADO.NET数据访问技术的相关经验. 实验场景 A trend among database developers is to define high-level business objects, or entities, that they then map to the tables a

[焦头烂额]Linq to entity和视图的执行结果不一样,求解惑!!!

问题描述 本人有一视图:SELECTrow_number()OVER(ORDERBYdbo.zaojia_gclqd.[file_name])ASID,dbo.zaojia_gclqd.[file_name],max(dbo.zaojia_gclqd.create_datetime)AScreate_datetime,'工程量清单'AStablenameFROMdbo.zaojia_gclqdGROUPBYdbo.zaojia_gclqd.[file_name]UNIONALLSELECTrow

怎么让linq to entity生成的分页函数使用参数

问题描述 这是我的查询varquery=fromoindb.Order_Orderselecto.Id;varfq=query.OrderBy(o=>o).Skip(frm).Take(to); 但是他生成的sql是这样的:SELECTTOP(20)[Extent1].[Id]AS[Id]FROM(SELECT[Extent1].[Id]AS[Id],row_number()OVER(ORDERBY[Extent1].[Id]ASC)AS[row_number]FROM[dbo].[Order_

学习并使用了两种linq to entity 的实现sql关键字in的查询方法

//构造Lambda语句        private static Expression<Func<TElement, bool>> BuildWhereInExpression<TElement, TValue>(Expression<Func<TElement, TValue>> propertySelector, IEnumerable<TValue> values)         {             Paramet

linq to Entity 的 left join 怎么用啊 ????

问题描述 linqtoEntity的leftjoin怎么用啊????有好的方案吗?? 解决方案 解决方案二:顶!解决方案三:顶!解决方案四:SELECT[t0].[Name],[t0].[FullDescription]FROM[Product]AS[t0]INNERJOIN[Category]AS[t1]ON[t0].[Id]=[t1].[Id]frompinProductsjoincinCategoriesonp.Idequalsc.Idselectnew{p.Name,p.FullDesc

Linq to entity使用单例模式,怎么刷新数据

问题描述 因为筛选的数据量大,所以使用单例模式加载一次,但是怎么获取此数据在数据库中已经改变,并从新从数据库中加载数据?? 解决方案 解决方案二:Try:.Refresh()方法

关于Linq for entity framework的一个简单问题,下面这句话是什么意思?

问题描述 List<Category>categories=this.dbSet_v.Include(e=>e.xxEntity.Select(m=>m.Application)).ToList();这句话帮我解释一下,谢谢,特别是include这个预加载,他的参数是一个拉姆达表达式,是什么意思?想实现什么效果?------------dbSet_v是DbSet类型类的定义如下:(伪代码)publicpartialclassCategory{publicvirtualICollec

关于LinQ to SQL 和 LinQ to Entity的问题

问题描述 我用以上方法建立一个实体类DBML或者EDMX,如果因为需求变动,我不得不增加一个字段,或者去掉一个字段,我该怎么办啊?请高手们帮吗解答啊 解决方案 解决方案二:用ling开发的后果.解决方案三:晕有没有解决方法啊????解决方案四:edmx提供了update功能,会自动同步数据表结构dbml需要重新删除改动的表,重新映射一下