linq To Entity (Microsoft Entity FRAMEWORK)的结合银光的使用。

收集一:

 http://www.cnblogs.com/l1b2q31/category/242373.html

Entity Framework中的事务问题
ADO.NET Entity Framework 深入分析-Part 5

posted @ 2010-04-19 15:14 l1b2q31 阅读(416) | 评论 (0)  编辑

ADO.NET Entity Framework 深入分析, Part 4 (提供示例程序下载)

posted @ 2010-04-19 15:13 l1b2q31 阅读(277) | 评论 (0)  编辑

Entity Data Model (EDM) 深入分析, Part 3

posted @ 2010-04-19 15:13 l1b2q31 阅读(185) | 评论 (0)  编辑

Entity Data Model (EDM) 深入分析, Part 2

posted @ 2010-04-19 15:12 l1b2q31 阅读(237) | 评论 (0)  编辑

Entity Data Model (EDM) 深入分析, Part 1

 

====================================================

linq to object 、linq to sql 、linq to entity 批量 新增、更新、删除功能扩

 

  最近在codeplex上找到了一个功能比较全的linq to object 、linq to sql 、linq to entity新增、修改、删除功能扩展的控件——magiq

  以linq to sql 为例,

var expiredProducts = store.Query(x => x.Products.Where(y => y.ExpirationDate <= DateTime.Now )).ToList();

//store为相当于数据库一对多的父项,Products相当于子项

products.Where( x=> x.ExpirationDate <= DateTime.Now ).Set( x=> x.State, ProductState.Expired )
                                                      .Set( x => x.Category.HasExpiredProducts,x=>! x.Category.HasExpiredProducts)
                                                      .Update();
//更新操作

store.UpdateCollection( x=> x.Products.Where(y=>y.ExpirationDate <= DateTime.Now ).Set( y=> y.State, ProductState.Expired ));

//一对多时,更新多端的数据

products.Where( x=> x.ExpirationDate <= DateTime.Now ).Delete();
//删除操作

store.DeleteCollection( x=> x.Products.Where(y=>y.ExpirationDate <= DateTime.Now ));

//一对多时,删除多端的数据

baseRecordRepository.BulkInsert( products.Where( x=> x.ExpirationDate <= DateTime.Now )
                                     .Select( new ExpirationRecord { Description = x.Name + " expired" } ));

//批量新增操作,相当于SQL语句:insert into ...select ...

 

要使用该控件的话,要先 using Magiq;

linq to sql 的话,还需引用MirrorMirror.dll

linq to entity的话,还需引用LinqToEdmx.Core.dll和Xml.Schema.Linq.dll

在调用上述函数前,还需调用Register来表示本次操作是linq to object 、linq to sql 、linq to entity的哪一种操作,

Magiq.MagiqConfigurator.Register(new Magiq.Providers.Sql.MagiqToSql());//linq to sql

Magiq.MagiqConfigurator.Register(new Magiq.Providers.Objects.MagiqToObjects());//linq to object

Magiq.MagiqConfigurator.Register(new Magiq.Providers.Entities.MagiqToEntities());//linq to entity

 

 

OrderByDescending

using  (var ctx  =   new  NorthwindEntities())
     //  OrderByDescending 对应的 Linq 方法
    var p1  =  ctx.Products.OrderByDescending(p  =>  p.UnitPrice);
    p1.ToList();

    
//  OrderByDescending 对应的查询语法
    var p2  =  from  in  ctx.Products orderby p.UnitPrice descending select p;
    p2.ToList();
-- OrderByDescending 对应的 sql 语句

 

下面是源码及demo

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值