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

2022年了有哪些值得推荐的.NET ORM框架?

EF/EF Core Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术,EF Core 是适用于 .NET 的现代对象数据库映射器...EF Core 可用作对象关系映射程序 (O/RM),这可以实现以下两点: 使 .NET 开发人员能够使用 .NET 对象处理数据库。 无需再像通常那样编写大部分数据访问代码。...SmartSql = C# 的 MyBatis + .NET Core+ 缓存(内存 | Redis)+ R/W 拆分 + PropertyChangedTrack +动态存储库 + InvokeSync...PetaPoco 是首选的微 ORM,也是任何体面的开发人员工具包必不可少的实用程序。 主要特点: 与Dapper一样,它很快,因为它使用动态方法生成 (MSIL) 将列值分配给属性。...内存高效- 它提取并缓存您的对象属性、执行上下文、对象映射和 SQL 语句。它在整个转换和执行过程重用它们。 动态和混合- 它提供了成熟 ORM 的一些高级功能。

5.7K11

2022年了有哪些值得推荐的.NET ORM框架?

EF/EF Core Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术,EF Core 是适用于 .NET...EF Core 可用作对象关系映射程序 (O/RM),这可以实现以下两点: 使 .NET 开发人员能够使用 .NET 对象处理数据库。 无需再像通常那样编写大部分数据访问代码。...SmartSql = C# 的 MyBatis + .NET Core+ 缓存(内存 | Redis)+ R/W 拆分 + PropertyChangedTrack +动态存储库 + InvokeSync...PetaPoco 是首选的微 ORM,也是任何体面的开发人员工具包必不可少的实用程序。 主要特点: 与Dapper一样,它很快,因为它使用动态方法生成 (MSIL) 将列值分配给属性。...内存高效- 它提取并缓存您的对象属性、执行上下文、对象映射和 SQL 语句。它在整个转换和执行过程重用它们。 动态和混合- 它提供了成熟 ORM 的一些高级功能。

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

EF Core的增删改查

0.前言 到目前为止,我们看了一下如何声明EF Core的初步使用,也整体的看了下EF Core的映射关系配置以及导航属性的配置。 这一篇,我带大家分享一下,我在工作需要的EF Core的用法。...初始化 在实际开发,一般都是先设计好数据表再进行开发,所以很少用到EF Core的数据迁移功能。所以EF Core的初始化,一般也指的是EF Core上下文初始化。...我没找到EF Core官方文档对于这种方式的称呼,所以我就悄悄的抢注了一下托管。 如果我们使用Config类(也就是 《C# 数据操作系列 - 7....3.花样查询 EF Core 支持Linq查询,所以在查询的时候可以使用Linq进行。...EF Core在调用 ToList的时候,会将已调用的方法和Linq转换成SQL语句,并正式向数据库发起查询。如果出现了在Linq调用三方方法或者自己写的工具方法的话,可能会提示不受支持。

3K20

C#学习笔记 LINQ简单使用

LINQ是C#的一项非常好用的功能,全程是语言集成查询Language Integrated Query。LING和SQL类似,但是不仅可以查询数据库的数据,还可以查询文件、XML、对象集合等等。...要使用LINQ特性,需要引用System.Linq命名空间。 使用LINQ时,需要有一个数据源充当被查询的对象,然后需要编写LINQ查询语句,然后就是执行查询。...默认采用延迟查询的方式,在遇到LINQ查询语句的时候,只是会保存查询方法,真正执行查询的是在后面迭代结果集的时候。...where子句用来筛选数据源的数据。在一个查询表达式可以指定多个where子句,而在一个where子句中又可以指定多个谓词谓词就是返回值布尔类型的表达式或者语句。...如果一个where子句中有多个谓词的话,应该使用||或者&&进行分隔。

1.7K20

Entity Framework 的一些性能建议

这是一篇我在2012年写的老文章,至今适用(没错,我说的就是适用于EF Core)。因此使用微信重新推送,希望能帮到大家。 自从我用了EF,每次都很关心是否有潜在的性能问题。...其实,我只要稍作调整,就能避免这个问题,但会LINQ语句难看一点: context.Post.Where(p => p.Id == postId).Select(p => p.Hits).FirstOrDefault...通常的操作就是再拼一个where语句上去: var myResult = postDa.GetAllPost().Where(...)...但这时,很不幸的是,where语句中的条件并不是转换为native sql去执行的,它是在内存筛选的。这是一个比较阴的性能问题。...所以文章一开始我就建议大家多用SQL Profiler看看自己的LINQ是怎么执行的。 如果把返回类型换成IQueryable,那么你的where语句就可以转化为SQL执行。

1.7K30

EF Core3.1 CodeFirst动态自动添加表和字段的描述信息

因为EF Core3.1 CodeFirst 对于自动添加描述这块 只有少部分的数据库支持.....(PS:真心希望达梦数据库能开放EF Core相关的源码,这样我们也好提交点贡献,国产数据库还是不能太过敝帚自珍阿..) ?...正文 1.通过扩展生成器,来实现动态自动添加描述信息 我们知道在SQL Server,可以通过Fluent API来添加针对表或者字段的描述,如下: builder.Property(prop.Name...那就需要我们自己扩展了, 所以就少不了翻看EF Core源码.. 我们通过翻看源码,可以找到MigrationsSqlGenerator这个类....执行迁移语句Script-Migration~ 我们会发现,描述已经自动生成啦~ 结束语 其实不管是.NET 5.0 还是EF Core 在开源化的今天,我们只要愿意去多翻翻源码,会发现自己可以扩展的东西还有很多

1.5K50

ASP.NET MVC5+EF6+EasyUI 后台管理系统(90)-EF 扩展操作

进行扩展的类库.支持EF EF5, EF6, EF Core,来弥补EF目前的短板 代码下载地址 支持功能: 批量删除 批量更新 Linq表达式 从缓存查询 延迟加载 过滤查询 组合查询功能 1.从NUGET...当然你要选择你对应的版本,并且同时你也安装了对应版本的EF版本(我选择EF6的扩展,那么我应该也对应现有的EF6)  2.操作(批量删除) 安装nuget包之后我们会发现我们平时惯用的linq表达式多了一些智能提示...(x => x.Code=="red").FromCache(); // (EF5 | EF6) 让查询缓存维持2个小时 var list2 = ctx.Spl_Product.Where...using (DBContainer ctx = new DBContainer()) { //从缓存查询,如果没有缓存即从数据库查询 var list3 = ctx.Spl_Product.Where...那么在什么时候用下面先来看语句 8.过滤查询 //创建全局过滤 QueryFilterManager.Filter(x => x.Where(c => c.IsDel==false

92200

【ASP.NET Core 基础知识】--数据库连接--使用Entity Framework Core进行数据库访问

ORM 的主要目的是在关系数据库和业务实体对象之间做一个映射,使得开发者可以使用面向对象的方式来操作数据库,而不必直接编写 SQL 语句。...减少了编写和维护 SQL 语句的工作量。 提高了代码的可读性和可维护性。 通过 ORM 的查询构建器,可以编写类型安全且易于理解的查询。 提供了对象之间的关系管理,自动维护关联对象的状态。...在 Entity Framework CoreEF Core,ORM 的概念依然适用,EF Core 提供了 ORM 功能,允许开发者使用 .NET 类型(类和对象)来表示数据库的表格和数据,...以下是一个简单的示例,演示了如何在 EF Core 中进行跨数据库操作: 安装相应数据库提供程序的 NuGet 包。...文章首先介绍了EF Core的的基本概念,然后讲解了EF Core连接数据库,如何在多数据库环境下使用EF Core,以及需要注意的性能和兼容性问题。

9100

Entity Framework Core 2.0 新特性

此特性允许使用Linq查询表达式直接定义在实体类型的元数据模型上。这样的过滤器会自动应用到任何LINQ查询所涉及的那些实体类型,包括间接引用的实体类型(对象引用,导航属性)。...在 ef core 2.0 ,我们将自定义的DbContext类型注册到DbContextPool服务,可让该数据库上下文类型的实例重复使用。...支持映射数据库定义的函数,可以在LINQ查询中使用。   ...目前只支持标量函数 EF Core迁移将不负责创建它,您必须在数据库创建映射函数 九.code first 实体配置   在EF6可以通过 EntityTypeConfiguraiton 封装特定实体类型的配置代码...,在EF Core2.0,这个特性回来了(EF Core 之前的 core版本不支持)。

1.8K50

.NET 2.0运行时的LINQ

何在不使用.NET 3.5库的情况下编写LINQ?它会在.NET 2.0上运行吗?...请参见此处:.NET 2.0上的LINQ支持 创建一个新的控制台应用程 仅将System和System.Core保留引用的程序集 System.Core将Copy Local设置true,因为它在...一些LINQ功能使用新的3.5程序集(例如System.Core.dll)的类,接口,委托和扩展方法.重新分发这些程序集是违反许可证的,但可以重新实现它们.使用扩展方法只需要声明为空System.Runtime.CompilerServices.ExtensionAttribute.LINQ...到对象依赖于IEnumerable扩展和几个委托声明(Action和Func家庭),并已在实施LINQBridge(mausch提到).LINQ to XML和LINQ to DataSets依赖于...但是,我知道,只要使用VS 2008编译器来定位2.0框架,就可以编写VB LINNQ代码. 但是,您必须实现一些自己的LINQ方法.

17010

C#内建接口:IQueryable

其主要用于 LINQ(Language Integrated Query)查询,它允许我们在编写类型安全的查询表达式时,将查询操作推迟到实际执行查询的时候,以便进行更有效的查询优化。...我们可以通过使用 LINQ 查询表达式或方法链式调用来构建查询,例如使用 Where、OrderBy、Select 等方法。...在 C# ,常用的查询提供者是 Entity Framework(EF),它可以将 IQueryable 查询转换为适当的 SQL 查询语句,并与数据库进行交互以获取结果。...可组合性:IQueryable 查询具有良好的可组合性,我们可以根据需要在查询添加和组合多个查询操作。这使得我们可以根据不同的条件动态构建查询,以及重复使用和组合查询逻辑。...foreach (var result in query) { Console.WriteLine(result); } //输出结果

18610

ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门

一、前言 1、本教程主要内容 ASP.NET Core MVC 集成 EF Core 介绍&操作步骤 ASP.NET Core MVC 使用 EF Core + Linq to Entity 访问MySQL...数据库 ASP.NET Core MVC 使用 EF Core + 原生SQL访问MySql数据库 EF Core + MySQL数据库插入数据后获取自增列的值 Entity Framework Core...二、EF Core + MySQL 前置准备 EF Core 全称:Entity Framework Core微软 .NET Core平台开发的ORM框架。...1、引入 EF Core + MySQL Provider EF Core已经集成在 ASP.NET Core ,但默认并不支持MySQL,如果需要连接MySQL,需要添加MySQL相关的Provider...Core + Linq to entity 访问数据库 1、创建Linq To Entity 数据访问类 using System; using System.Collections.Generic;

2.1K21

.NET Core 3.0 的新变化

EF Core 3.0 LINQ 是一项用户钟爱的 .NET 功能,可便于编写数据库查询,而无需离开所选的语言,同时还能利用丰富的类型信息来获取 IntelliSense 和编译时类型检查。...不过,LINQ 也支持编写数量几乎不限的复杂查询,而这对于 LINQ 提供程序来说,一直都是一项巨大挑战。...在 EF Core 3.0 ,我们计划深入更改 LINQ 实现工作原理和测试方式,旨在提高它的可靠性(例如,避免破坏修补程序版本的查询);让它能够将更多表达式正确转换为 SQL;在更多情况下生成高效查询...此提供程序将针对 Cosmos DB 的 SQL API 启用大部分 EF Core 功能,自动更改跟踪、LINQ 和值转换。...我们计划在 EF Core 3.0 添加的其他功能包括,属性包实体(将数据存储在索引属性(而不是常规属性)的实体);能够将数据库视图反向工程查询类型;以及与新 C# 8.0 功能集成, IAsyncEnumerable

4.9K10
领券