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

Entity Framework Core 2.0 新特性

此特性允许使用Linq查询表达式直接定义在实体类型的元数据模型上。这样的过滤器会自动应用到任何LINQ查询所涉及的那些实体类型,包括间接引用的实体类型(对象引用,导航属性)。...FromSqlExecuteSqlCommand方法加入参数化查询    在使用C#6.0的特性构建SQL语句并使用FromSqlExecuteSqlCommand方法执行SQL语句,会自动加入使用参数化查询...当查询所有者,默认将包含所属的类型。   按照惯例,将为所属类型创建一个影子主键,它将通过使用表拆分映射到与所有者相同的表。...支持映射数据库中定义的函数,可以在LINQ查询中使用。   ...一旦注册了方法,您就可以在查询的任何地方使用它。  要注意的几件事: 按照惯例,在生成SQL,该方法的名称用作函数的名称(在本例中是用户定义的函数),但可以在方法注册期间重写名称schema。

1.8K50

C# 数据操作系列 - 12 NHibernate的增删改查

前言 上一篇《C# 数据操作系列 - 11 NHibernate 配置结构介绍》 介绍了Nhibernate里的配置内容。这一篇将带领大家了解一下如何使用NHIbernate。...2.2 修改 NHibernate的修改与EF类似,也是由ISession监控了修改,不用做过多的操作。...public IQueryable IqQueryable() { return Session.Query(); } 其中 IQueryable是一个接口,表示这是一个可查询对象,通过Linq...总结 嗯,NHibernate基础使用篇到这里可以暂告一段落了。后续的内容有机会再深挖,当然并不代表EF Core就没有了。嗯嗯,没毛病。下一篇就让我来先替大伙看看SugarSQL是什么情况吧。...NHibernate.Dialect.Oracle8iDialect Oracle 9i NHibernate.Dialect.Oracle9iDialect Oracle 10g, Oracle

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

EntityFramework快速上手

EF提供变更跟踪、唯一性约束、惰性加载、查询事物等。开发人员使用Linq语言,对数据库操作如同操作Object对象一样省事。...EF有三种使用场景: 从数据库生成Class, 由实体类生成数据库表结构, 通过数据库可视化设计器设计数据库,同时生成实体类。 O/RM是什么?...LINQ to EntitiesLINQ to Entities 是一种用于编写针对对象模型的查询的查询语言。它返回在概念模型中定义的实体。...ADO .Net Data Provider:使用标准的Ado.net与数据库通信 Entity Framework运行环境 EF5由两部分组成,EF api .net framework 4.0...使用NuGet即可安装EF。 ? ? 实例创建实体数据模型 使用向导创建实体类,或键添加,傻瓜式的~

1.8K50

《ASP.ENT Core 与 RESTful API 开发实战》-- (第5章)-- 读书笔记(上)

第 5 章 使用 Entity Framework Core 5.1 Entity Framework Core EF Core 是微软推出的 ORM 框架,一种为了解决高级编程语言中的对象关系型数据库之间映射关系的技术...,它能够将程序中的对象自动持久化到关系型数据库中,并能够将数据库中的数据信息自动映射到编程语言中的对象 EF Core 的另一个特点是支持 LINQ,通过 LINQ,我们能够像操作 .NET 集合对象中的数据一样来操作数据库中存储的数据...5.2 使用 EF Core EF Core 有两种使用方式: 代码优先:根据先创建好的实体类来创建数据库表 数据库优先:根据先创建好的数据库以及其中的数据表来生成与之匹配的实体类 创建一个新项目...,通常建议使用“代码优先”的方法,如果使用“数据库优先”,可以通过以下命令生成数据库对应代码 Scaffold-DbContext 代码优先,创建实体类 namespace Library.API.Entities...public ICollection Books { get; set; } = new List(); } } namespace Library.API.Entities

1.1K20

Entity Framework 的一些性能建议

这是一篇我在2012年写的老文章,至今适用(没错,我说的就是适用于EF Core)。因此使用微信重新推送,希望能帮到大家。 自从我用了EF,每次都很关心是否有潜在的性能问题。...所以每次我写LINQ查询,都会使用SQL Profiler看一下实际生成的SQL语句,以便发现潜在的性能问题。也强烈建议大家这么去做,以免日后软件大了出了问题很难查。 ?...计算个数,Count()Count 这个是最容易被坑,也是非常严重的一个性能问题。当我们需要统计符合某条件的记录的条数,我们希望SQL语句是SELECT COUNT(*) ... 这种形式的。...如果要让代码尽量去生成LINQ to SQL,有个很简单的原则,就是尽量用LINQ、Lambda表达式,这样EF才可能帮我们翻译。C#里的Count有两种。...最方便,使用不规范,性能两行泪

1.7K30

Entity Framework(EF)数据查询

Entity Framework(EF)存取Entity的三种方式。...LINQ to Entities 直接通过LINQ存取,可完全将程序与数据库分离,由LINQ在内部自动使用Object Service进行数据库操作 Object Service 可以透过Entity...在EF中,我们可以以MergeOption.NoTracking=false来取得同样的效果。 在EF中,有个Query Plan Caching的功能,它可以Cache编译后的ESQL。...还有就是第一次创建ObjectContext并查询数据耗费了大量的时间。...下面这个饼状图给出了第一次创建ObjectContext并用其访问数据库各种操作所占的时间比 从中可以看出仅仅View Generation一个操作就占用了56%的时间,不过令人欣慰的是,这个操作只出现在第一次查询的时候

98220

Oracle使用Entity Framework 6.x Code-First方式开发

去年写过一篇EF的简单学习笔记,当时EF还不支持Oracle的Code-First开发模式,今天无意又看了下Oracle官网,发现EF6.X已经支持了,并且给出了二篇教程(英文版): 1.Using NuGet...使用NuGet安装、配置ODP.NET a) 参考下图,创建一个Console Application的项目 ? 项目名称随便吧,图中是NuGet ? 这是主程序入口 ?...参考下图,搜索Oracle,安装图中的二项: ?  安装过程中,会弹出License对话框,点击I Accept ? 安装成功后,这二项应该会自动打上绿勾 ?...ok, ODP.Net安装配置完成 2.使用Code First模式开发 a) 先参考下图,修改连接字符串(本文用的是HR这个示例用户,大家可以根据实际情况修改) ?...下面是DbContext部分,相当于DAL层.注意:OnModelCreating,这里表示根据Model创建表,默认将创建到HR这个Database Schema下 ? 运行结果 ?

1.3K50

Entity Framework Core 简介

EF Core 需要和 .NET Core 应用程序一起使用,并且需要 .NET 4.5+ 版本。...零、EF Core 开发方法 EF Core 只支持两种开发方式 Code First Database First,在 EF Core 2.0 开始不支持数据库模型的可视化设计器以及数据库设计导航...在 Code First 方法中, EF Core API 使用基于 domain classes 中提供的约定配置的迁移来创建数据库表,这种方法在 DDD 中很有用。...如果你习惯于 Database First ,那么你可以使用 EF Core 命令基于现有的数据库创建 domain classes 上下文类,但是这种方法支持有限,因为 EF Core 2+ 版本...一、EF Core 与 EF6 这里列一下 EF Core 目前所具有的 EF6 的功能 DbContext ; DbSet ; Data Model ; 使用Linq-to-Entities查询 ;

1.9K10

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

EF Core 通过提供程序插件 API 与 SQL Server、Azure SQL 数据库、SQLite、Azure Cosmos DB、MySQL、PostgreSQL 其他数据库一起使用。...EntityFramework.Exceptions - 当您的SQL查询违反SqlServer,MySql或PostgreSQL中的数据库约束,请对EntityFrameworkCore使用类型化的异常处理...审计或者做历史版本比较适用。 LINQKit - LINQKit是LINQ对SQLEntity Framework的免费扩展集。...MySql、SqlServer、Sqlite、Oracle 、 postgresql 、达梦、人大金仓 数据库,具有EF NH的功能,比EF更人性化的语法,支持真实的批量操作,另外还有媲美Dapper的性能...它在整个转换执行过程中重用它们。 动态混合- 它提供了成熟 ORM 的一些高级功能。它极大地帮助开发人员在开发过程中进行上下文切换简化体验。 开源软件——它是一个开源软件,并且永远是免费的。

5.7K11

盘点 .NET 比较流行的开源的ORM框架

下面推荐10个主流比较流行的ORM框架,都是开源的项目: 一、SqlSugar(国内) 支持SqlServer、MySql、PgSqlOracle插入blukcopy 分表大数据自处理 支持多租户、多库事务...支持一对多多对多的导航属性 支持MySql、SqlServer、Sqlite、Oracle、postgresql、QuestDb、ClickHouse、达梦、人大金仓、神通数据库、瀚高、MsAccess...查询接口类似于 LINQ。您可以使用 Chloe.ORM 通过 lambda 查询 LINQ 之类的数据并执行任何操作(查询 | 组查询 | 聚合查询 | 插入 | 批量更新 | 批量删除)。...EF提供变更跟踪、唯一性约束、惰性加载、查询事物等。 开发人员使用Linq语言,对数据库操作如同操作object对象一样省事。 EF有三种使用场景: 1、从数据库生成Class。...通过使用 DynamicMethod 生成消除 Linq 快速属性分配来获得出色的性能。 查询语言是好的 ole SQL。 包括一个低摩擦的 SQL 构建器类,使编写内联 SQL变得更加容易。

3.9K41

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

EF Core 通过提供程序插件 API 与 SQL Server、Azure SQL 数据库、SQLite、Azure Cosmos DB、MySQL、PostgreSQL 其他数据库一起使用。...EntityFramework.Exceptions - 当您的SQL查询违反SqlServer,MySql或PostgreSQL中的数据库约束,请对EntityFrameworkCore使用类型化的异常处理...审计或者做历史版本比较适用。 LINQKit - LINQKit是LINQ对SQLEntity Framework的免费扩展集。...MySql、SqlServer、Sqlite、Oracle 、 postgresql 、达梦、人大金仓 数据库,具有EF NH的功能,比EF更人性化的语法,支持真实的批量操作,另外还有媲美Dapper的性能...它在整个转换执行过程中重用它们。 动态混合- 它提供了成熟 ORM 的一些高级功能。它极大地帮助开发人员在开发过程中进行上下文切换简化体验。 开源软件——它是一个开源软件,并且永远是免费的。

3.8K20

LINQ基础概述

介绍LINQ基础之前,首说一下LINQ 的历史LINQ是什么,然后说一下学习 LINQ要了解的东西和 LINQ基础语法 LINQ 的历史 从语言方面的进化 –委托 –匿名方法 –Lambda表达式...其中两个最主要访问的数据源与数据库 XML 相关。 使用LINQ的目的是为了提供一个解决对象关系映射问题的方案,同时简化对象和数据源的交互。LINQ最终发展成为一个通用语言集成查询的工具包。...就如同通过T-SQL操纵数据库一样,不管是Oracle,SyBase还是SQL Server,他们的Select语法都是一样的。 有了LINQ,程序员便可以不再沉泥于不同的数据访问技术的学习。...数据集      LINQ to Entities ORM对象      LINQ to SQL 简易ORM框架 命名空间在System.Linq 实现 IEnumerable 或 IQueryable... 接口的对象都可使用LINQ操作 LINQ框架图 ?

1.7K50

.NET中数据访问方式(一):LINQ

LINQ to SQL不建议使用,用LINQ to Entities来替代。...LINQ 表达式扩展方法混合使用 (from e in Employees where e.Salary>8000 select e).ToList() LINQ表达式扩展方法对比: LINQ...表达式扩展方法在编译后的代码没有什么区别 对于排序、分组、联合查询使用LINQ表达式更为方便 //以排序为例,使用年龄、姓名、邮箱进行排序, //LINQ表达式中使用逗号分隔排序字段,而扩展方法则需要多次调用相应的扩展方法...IQueryable适合使用对进程外(如数据库)的数据进行查询操作,如:LINQ to Entities。...LINQ的优缺点 优点 对不同的数据源提供了几乎一致的查询操作,这可使我们更多的去关注业务逻辑而非对数据源的操作 提供编译期的类型检查 在书写LINQ查询表达式可以使用Visual Studio的智能提示

2.6K30

Entity Framework 系统约定配置

使用过其他ORM框架的朋友可能知道一般ORM都有对应的映射配置文件(一般是一个Xml文件),但是EF并没有。...在EF中是以一种约定的方式进行表、列同实体类进行映射的,与此同时为了提高最大的灵活性EF中可以通过Fluent APIData Annotations两种方式对映射进行灵活配置。...4.当EF按照上述规则在数据类中没有找到主键属性(或者通过fluent API、Data Annotations没有定义)将认为此类为“复杂类型”。   ...Entity Framework 手动定义约定  EF的默认约定不是一成不变的,我们可以选择移除修改它,例如EF默认生成数据表将数据类名的复数形式作为表名,下面的代码就可以移除这个规则: using...在EF提供了两种方式进行映射配置:Data AnnotationsFluent API。

81620
领券