首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Entity Framework Plus: 让 EF Core 开发如虎添翼

Entity Framework Plus Entity Framework Plus是一个开源、免费(MIT License)、功能强大的 Entity Framework(EF)和 Entity Framework...项目功能特性 以下是 Entity Framework Plus 项目的一些主要特点和功能: 批量操作:支持批量插入、更新、删除和合并操作,这些操作可以在单个数据库往返中处理多条记录,而无需加载实体到内存中...查询包含优化:改进了 Include 方法的行为,允许在加载关联实体时应用过滤条件,从而优化生成的 SQL 语句。...支持多个版本的 Entity Framework:EntityFramework-Plus 支持 Entity Framework 5(EF5)、Entity Framework 6(EF6)和 Entity...批量删除 如果需要删除成百上千个实体,使用Entity Framework Core进行删除可能会非常慢。

18810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    不使用反射的实体类方案

    看过很多ORM的实体类方案,大多是用反射来读数据库数据,这样当频繁操作实体类的时候效率很低,我借鉴了一位朋友的思路,采用.NET 2.0的泛型技术,为实体类提供一个通用的查询和持久化方案。...先看看实体类定义: using PWMIS.DataMap.Entity; namespace PLZDModel {     public class PFT_Report : Entity     ... 子句将可能会带上Select子句中的字段             oqlQuerry.Select(utlReport.ApplyTime , utlReport.BankCode,utlReport.FileName... 1;             p.BankCode = null;// "20";             p.FundCode = "KF001";             q.Select().Where...整个实体类方案原理很简单,但实体类代码比较多,手写代码还是比较累人,所以框架提供一个代码生成器,从数据库表生成实体类或者将自己编写的SQL语句映射成实体类。

    80580

    Entity Framework Core 实现MySQL 的TimeStampRowVersion 并发控制

    将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现。...SQL Server timestamp 数据类型与时间和日期无关。SQL Server timestamp 是二进制数字,它表明数据库中数据修改发生的相对顺序。...在Entity Framework 中采用IsConcurrencyToken配置后RowVersion即自动用于where子句中用于比较Row Version, 我们也需要使用这个特性实现并发控制,Ak.Ini...的博文http://www.cnblogs.com/akini/archive/2013/01/30/2882767.html ,我们按照这篇文章的方法在Entity framework core上面解决并发控制问题...OnModelCreating(ModelBuilder builder)        {            base.OnModelCreating(builder);            builder.Entity

    1.8K80

    EntityFramework 外键值映射

    如果在 EF OnModelCreating 中配置了实体外键映射,也就是 SQL Server 中的 ForeignKey,那么我们在添加实体的时候,主实体的主键值会自动映射到子实体的外键值,并且这个操作在一个...Entity Framework 实体框架的形成之旅--实体框架的开发的几个经验总结 在前阵子,我对实体框架进行了一定的研究,然后把整个学习的过程开了一个系列,以逐步深入的方式解读实体框架的相关技术,期间每每碰到一些新的问题需要潜入研究...由于DateTime的默认值为"0001-01-01",所以entity framework在进行数据库操作的时候,在传入数据的时会自动将原本是datetime类型的数据字段转换为datetime2类型...不过由于实体框架里面,实体类避免耦合的原因,我们引入了DTO的概念,并使用了AutoMapper组件进行了Entity与DTO的相互映射,具体介绍可以参考《Entity Framework 实体框架的形成之旅...--数据传输模型DTO和实体模型Entity的分离与联合 》。

    4.2K50

    使用PDF.NET数据开发框架的实体操作语言OQL构造复杂查询条件

    ,主要特点是具有iBatis特点的SQL-MAP功能和框架独特的实体对象查询语言--OQL,下面我们使用OQL来构造一个复杂的实体查询。...首先定义两个实体类:用户类和订单类,可以使用框架提供的实体类生成器生成,下面是详细代码: /*   本类由PWMIS 实体类生成工具(Ver 4.1)自动生成  http://www.pwmis.com...*               * OQL To SQL is: SELECT UID,Name,Sex,Height,Birthday  FROM Table_User    Where  ( ( UID...OQL To SQL is: SELECT UID,Name,Sex,Height,Birthday  FROM Table_User    Where  Sex = @Sex0 AND UID IN ...OQL对象; OQL q_order //订单相关的OQL对象; 关键点在于q_order 对象作为oql对象的 IN 查询的参数,实现了SQL的IN子查询: oql.Select().Where(oql.Condition.AND

    1.7K50

    在Entity Framework 中执行T-sql语句

    从Entity Framework  4开始在ObjectContext对象上提供了2个方法可以直接执行SQL语句:ExecuteStoreQuery 和 ExecuteStoreCommand。...1、使用ExecuteStoreQuery :通过sql查询返回object实体,有有许多需要注意: 1.sql = "select * from Payment where Vendor= @vendor...6.可以返回实体对象属性的子集,就是说如果对于Payment表,我们查询返回PaymentId和Amount字段,然后我们定义一个subPayment 实体包含PaymentId和Amount属性,然后使用...相关文章: Entity Framework 和 AppFabric 中的二级缓存 对Entity Framework应用二级缓存 Performance Considerations for Entity...Framework 5 https://github.com/ChrisNanda/EntityFramework.Cache Entity Framework - Second Level Caching

    2.5K100

    SqlAlchemy 2.0 中文文档(二十)

    with_parent(instance, prop[, from_entity]) 创建将此查询的主实体与给定相关实例相关联的过滤条件,使用已建立的relationship()配置。...如果省略contains_eager()选项,则 SQL 与 FROM 和 WHERE 子句的行为相同,其中with_loader_criteria()继续将其条件添加到 JOIN 的 ON 子句中。...如果省略了contains_eager()选项,那么 SQL 在 FROM 和 WHERE 子句方面的情况将与with_loader_criteria()继续将其条件添加到 JOIN 的 ON 子句中一样...with_parent(instance, prop[, from_entity]) 创建过滤条件,将此查询的主要实体与给定的相关实例相关联,使用已建立的 relationship() 配置。...如果省略contains_eager()选项,则 SQL 将与 FROM 和 WHERE 子句相关,而with_loader_criteria()将继续将其条件添加到 JOIN 的 ON 子句中。

    32510

    Sentry 监控 - Snuba 数据中台架构(SnQL 查询语言简介)

    目前支持三种类型的 MATCH 子句: Simple: MATCH (entity> [SAMPLE n]) 这相当于我们当前的所有查询。这是从单个实体(事件、事务等)查询数据。...可以通过将其与实体一起添加来向查询添加可选 sample。 例如:MATCH (events) Subquery: MATCH { } 花括号内可以是另一个完整的 SQL 查询。... 是在 Snuba 中的 Entity 中指定的字符串,是一组 join 条件的简写。可以有多个 join 子句,用逗号分隔。...WHERE 这是在聚合之前发生的查询的过滤器(如 SQL 中的 WHERE)。 条件是 LHS OP RHS* 形式的中缀表达式,其中 LHS 和 RHS 是字面值或表达式。...SAMPLE 如果 MATCH 子句中的节点未提供采样率,则可以在此处指定。在这种情况下,Snuba 会将 sample right 分配给查询中的节点之一。

    1.2K10

    Entity Framework Core 捕获数据库变动

    这个功能虽然强大但是某些时候我们使用的数据库并不是 SQL Server 数据库,或者某些情况下我们不适合使用 SQL Server 数据库所提供的这个功能。那么这个时候该怎么办呢?...如果你使用的是 Entity Framework Core 2.0 及以上版本来开发项目的话,那这个问题就好解决了。...在 Entity Framework Core 中,只要捕获到了数据变更记录,我们就可以将数据随时还原到变更前的状态,在这里数据库变更记录被称为审计数据。...要解答上述两个问题,那就跟着我一起来看看怎么利用 Entity Framework Core 来捕获审计数据。...一、创建审计数据存储 现在我们有了审计模型,但是只有审计模型还不行,我们还需要创建和存储审计数据相关的类,下面我们就来一起创建这个类。

    60410

    MVC5 Entity Framework学习之异步和存储过程

    程序运行一切正常,但在此控制器中,所有SQL查询都是异步执行的。 当你使用Entity Framework来进行异步编程时要注意: 异步代码不是线程安全的。...如果你希望能够利用异步代码的性能优势,请确保你正在使用的所有库包(例如分页)在调用任何Entity Framework方法并将查询发送至数据库时也同样要使用异步执行。...在Entity Framework的早期版本中,你可以通过原始SQL查询来使用存储过程来检索数据,但是你不能在更新操作中使用存储过程。...在Entity Framework 6中,你可以通过配置Code First来使用存储过程。...().MapToStoredProcedures(); } 上面的代码指定Entity Framework对于Department 实体的insert,update和delete

    1.3K90

    SqlAlchemy 2.0 中文文档(二)

    LATERAL 相关性是 SQL 相关性的一种特殊子类,它允许可选单元在单个 FROM 子句内引用另一个可选单元。...一个典型的例子是 SQLite 上的日期相关函数,其中 SQLAlchemy 的DateTime和相关数据类型在收到结果行时扮演了将字符串值转换为 Python datetime()对象的角色。...Cheeks') User(id=1, name='spongebob', fullname='Spongebob Squarepants') ROLLBACK 要以更灵活的方式将 UNION 或其他与实体相关的构造用作实体相关组件...SQLite 上的日期相关函数是一个典型例子,其中 SQLAlchemy 的 DateTime 和相关数据类型在接收到结果行时起到将字符串值转换为 Python datetime() 对象的作用。...一个典型的例子是 SQLite 上的日期相关函数,在那里 SQLAlchemy 的DateTime和相关数据类型扮演着将字符串值转换为 Python datetime()对象的角色,当接收到结果行时。

    45410
    领券