日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/6/5 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

?

下面是源碼及demo

?

?

轉載于:https://www.cnblogs.com/zh-xiaot/archive/2011/08/06/2129601.html

總結

以上是生活随笔為你收集整理的linq to object 、linq to sql 、linq to entity 批量 新增、更新、删除功能扩展的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。