EntityFramework扩展之第三方类库
EntityFramework 非常好用,结构优美.. 但是美中有不足:1.对动态查询条件支持的不是很好 ;2.批量操作支持的不是很好.。
下面就是几个第三方库,对EntityFramework 的扩展
一、第三方类库
LinqKit
动态拼装查询条件
开源地址:https://github.com/scottksmith95/LINQKit
Entity Framework Extensions
(收费)Website: http://entityframework-extensions.net/
Paid library to dramatically improve Entity Framework performance:
- BulkSaveChanges
- BulkInsert
- BulkUpdate
- BulkDelete
- BulkMerge
- BulkSynchronize
Entity Framework Plus
开源免费:https://github.com/zzzprojects/EntityFramework-Plus
Website: http://entityframework-plus.net/
Free & Open source library that support following features:
- Audit
- Batch Operations
- Batch Delete
- Batch Update
- Query
- Query Cache
- Query Deferred
- Query Filter
- Query Future
- Query IncludeFilter
- Query IncludeOptimized
EFUtilities
1.功能包含单属性更新.
2.Delete by query
3.Batch insert entities
4.Batch update entities
5.Partial updates / Not loading the data from DB first
6.Update by query
…
如何使用看项目官网
https://github.com/MikaelEliasson/EntityFramework.Utilities
代码获取方式如下:
支持EF4和5
https://www.nuget.org/packages/EFUtilities/0.1.0
PM> Install-Package EFUtilities -Version 0.1.
支持EF6
https://www.nuget.org/packages/EFUtilities
PM> Install-Package EFUtilities
EntityFramework.Extended
主要功能:批量更新和删除,缓存
// Deleting //delete all users where FirstName matches
context.Users
.Where(u => u.FirstName == "firstname")
.Delete(); // Update //update all tasks with status of 1 to status of 2
context.Tasks
.Where(t => t.StatusId == )
.Update(t => new Task { StatusId = }); //example of using an IQueryable as the filter for the update
var users = context.Users.Where(u => u.FirstName == "firstname");
context.Users.Update(users, u => new User {FirstName = "newfirstname"});
2015年后停止更新。迁移到Entity Framework Plus
开源地址: https://github.com/loresoft/EntityFramework.Extended
PM> Install-Package EntityFramework.Extended
efbulkinsert
批量插入 ,已迁移到Entity Framework Extensions
http://efbulkinsert.codeplex.com/
EF4
PM> Install-Package EntityFramework.BulkInsert-ef4
https://www.nuget.org/packages/EntityFramework.BulkInsert-ef4 EF5
PM> Install-Package EntityFramework.BulkInsert-ef5
https://www.nuget.org/packages/EntityFramework.BulkInsert-ef5 EF6
PM> Install-Package EntityFramework.BulkInsert-ef6
https://www.nuget.org/packages/EntityFramework.BulkInsert-ef6
内容来自 :
https://blog.csdn.net/phker/article/details/49334287
EF学习推荐文章:你必须知道的EF知识和经验
EntityFramework扩展之第三方类库的更多相关文章
- Yii 1.1.17 四、属性标签、AR类增删改查、使用上传类与扩展第三方类库
一.属性标签与规则设置 当进入网站页面,将会读数据库返回信息到视图上.那么,现在定义模型中的属性在视图标签上的显示, 也就是模型属性到前台标签的映射 // 定义模型属性到前台标签的映射 public ...
- iOS 常用第三方类库、完整APP示例
一.第三方类库 1:基于响应式编程思想的oc地址:https://github.com/ReactiveCocoa/ReactiveCocoa2:hud提示框地址:https://github.com ...
- TP5 中引入第三方类库
通过了解tp5的目录结构,我们知道其中有两个目录是纺织扩展类库文件的. extend是放置自定义或者其他类文件的. vendor目录是放置composer类库文件的. 当我们的第三方类库文件是下载的, ...
- iOS常用第三方类库及Xcode插件
第三方类库(github地址): 1.AFNetworking 网络数据 https://github.com/AFNetworking/AFNetworking 2.SDWebImage 图 ...
- 程序开发常用第三方类库一览表(VendorLib)
以下是自己开发过程中用到的第三方类库,记录下来方便查阅 ------------------------------------------------------------------------ ...
- ThinkPHP vendor 方法导入第三方类库
ThinkPHP 3.2 vendor()方法的深入研究及Phpqrcode的正确扩展 ThinkPHP vendor 方法导入第三方类库 第三方类库 第三方类库指除了 ThinkPHP 框架.应用项 ...
- Android 第三方类库简单使用之EventBus
Android 第三方类库之EventBus 1 PS 工欲善其事必先利其器. Eventbus也是一款在开发中常用的利器 这篇也对EventBus的简单介绍和使用,与之前个xutils介绍的级别一样 ...
- thinkphp 3.2,引入第三方类库的粗略记录
首先用第三方类库我是放到vendor里面的 根目录\ThinkPHP\Library\Vendor\Wxphp 例如创建了一个Wxphp文件夹,里面有个php文件叫做 zll.php 文 ...
- 每个项目中,你必须知道的11个Java第三方类库。
Java第三方library ecosystem是一个很广阔的范畴.不久前有人撰文:每个项目中,你必须知道的11个Java第三方类库. 单元测试 1.DBUnit DBunit是一个基于junit扩展 ...
随机推荐
- 虚拟机复制问题:如何解决“无法手动启动VMware Tools安装”问题
摘录网址:https://jingyan.baidu.com/article/3c48dd348c4504e10ae35810.html 环境描述: VMware Workstation Ubuntu ...
- C#设计模式(10)——桥接模式
1.桥接模式介绍 桥接模式用于将抽象化和实现化解耦,使得两者可以独立变化.在面向对象中用通俗的话说明:一个类可以通过多角度来分类,每一种分类都可能变化,那么就把多角度分离出来让各个角度都能独立变化,降 ...
- linux 下安装ftp 并远程连接
1.确认是否已安装 ftp 1 pgrep vsftpd #查看ftp 服务进程 无结果如下图所示 2.执行安装 1 yum install vsftpd #安装ftp 服务 3.执行过程 ...
- jenkins笔记
java -jar jenkins.war -httpPort=9090 以9090端口启动jekins的web应用(内置jetty)
- Git与GitHub学习笔记(七)Windows 配置Github ssh key
前言 SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell.SSH登录是需要用户 ...
- thinkcmf 相关
后台登录,暂停关掉登录验证码: /Volumes/macHD2/myCode/wwwroot/app/admin/controller/PublicController.php $captcha = ...
- springboot使用jpa+mongodb时,xxxRepository不能Autowired的问题
springboot启动类: @SpringBootApplication public class MainApp { public static void main(String[] args) ...
- seleniums私房菜系列一 ---- selenium简介
一.Selenium是什么? Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,本系列现在主要包括以下4款: 1.Selenium Core:支持DHTML的测试案 ...
- Coursera, Deep Learning 5, Sequence Models, week3, Sequence models & Attention mechanism
Sequence to Sequence models basic sequence-to-sequence model: basic image-to-sequence or called imag ...
- TensorFlow从入门到理解(二):你的第一个神经网络
运行代码: from __future__ import print_function import tensorflow as tf import numpy as np import matplo ...