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

03-EF Core笔记之查询数据

基本查询 微软提供了一百多个示例来演示查询,地址:https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b 我们可以通过下面的代码进行简单的查询...为何要这样做,可以参考我之前的文章《Castle DynamicProxy基本用法(AOP)》。...好的一点是,EF Core在设计时就替我们考虑了如何防御SQL注入攻击,因此当我们使用FromSql方法时,参数中如果有使用到拼接字符串的情况,则会自动为我们生成SQL查询参数,例如: var user...") .ToList(); 上面的SQL语句虽然看上去像是直接拼接的字符串,其实EF Core已经为我们生成了查询参数。...在执行查询时,EF Core会检查我们的sql语句是否支持拼接,如果支持的情况下,则会将linq过滤语句拼接为sql一并发送到数据库进行查询。 跟踪 原始SQL中的跟踪与Linq查询的跟踪方式一致。

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

    Entity Framework Core 2.0 新特性

    前言 Entity Framework Core 2.0更新也已经有一段时间了,园子里也有不少的文章.. 看了下2.0的新特性基本算是完成了我之前发布的路线图的内容 很不错 下面就介绍一下新特性....这意味着为每个请求创建一个新的DbContext实例。 所以在版本2.0中,我们引入了一种在依赖注入中注册自定义DbContext类型的新方式,它透明地引入了一个可重用的DbContext实例池。...虽然EF Core通常可以根据查询表达式的散列表示自动编译和缓存查询,但这种机制可以通过绕过哈希计算和高速缓存查找来获得小的性能增益,从而允许应用程序使用已经通过调用委托编译了查询。...3.3FromSql和ExecuteSqlCommand中的字符串插值 C#6(C#6.0特性请移步:这里)中引入了字符串插值,这是一个允许C#表达式直接嵌入到字符串文字中的功能,提供了一种在运行时构建字符串的好方法...在EF核2.0,我们增加了对插值字符串中的特殊支持,我们接受原始的SQL字符串两个主要的API:FromSql和ExecuteSqlCommand。

    3.9K90

    一步步学习EF Core(3.EF Core2.0路线图)

    其中一部分已经在预览1完成了 存储过程映射,允许EF使用存储过程来保存对数据库的更改(FromSql已经提供了对使用存储过程进行查询的良好支持)。...EF.Functions.Like()(#2850) - 允许将通配符的字符串匹配转换为SQL或在内存中进行匹配。...全局查询过滤器(#5774) - 允许为实体类型配置垂直过滤器。然后,此过滤器将适用于所有查询,包括贪婪加载(即Include())。...原来考虑加入,但没有进展,基本上要推迟的内容: 用于非实体类型的原始SQL查询(#1862) - 使用不在模型中的类型执行具有临时映射的查询。...简单的日志记录API(#1199) - 我们想要一个简单的方法来记录正在执行的SQL(就像Database.Log从EF6.x)。我们还需要一种简单的方法来查看正在记录的内容。

    3.1K90

    PostgreSQL 教程

    PostgreSQL 基础教程 首先,您将学习如何使用基本数据查询技术从单个表中查询数据,包括查询数据、对结果集进行排序和过滤行。然后,您将了解高级查询,例如连接多个表、使用集合操作以及构造子查询。...排序 指导您如何对查询返回的结果集进行排序。 去重查询 为您提供一个删除结果集中重复行的子句。 第 2 节. 过滤数据 主题 描述 WHERE 根据指定条件过滤行。...集合运算 主题 描述 UNION 将多个查询的结果集合并为一个结果集。 INTERSECT 组合两个或多个查询的结果集并返回一个结果集,该结果集的行都出现在两个结果集中。...ANY 通过将某个值与子查询返回的一组值进行比较来检索数据。 ALL 通过将值与子查询返回的值列表进行比较来查询数据。 EXISTS 检查子查询返回的行是否存在。 第 8 节....NULLIF 如果第一个参数等于第二个参数则返回NULL。 CAST 从一种数据类型转换为另一种数据类型,例如,从字符串转换为整数,从字符串转换为日期。 第 16 节.

    59010

    专家指南:大数据数据建模的常见问题

    理想情况下,检查要运行的查询,并为这些用例确定适当的文件格式。 2) 为工作负载使用正确的查询引擎。...归根结底,这是所有相同的数据,针对三种用例以三种方式存储,以确保获得最佳结果。工业数据模型本身并不是过时的,但需要在用例级别上通过更灵活的数据建模方法加以补充。...在为大数据建模时,与自然键相比,代理键是否有助于更好的联接性能? 是的,代理键绝对可以提供帮助。通常,我们发现代理键的连接基本上更快,尤其是当自然键为字符串列时。整数更易于比较联接性能。...例如,在Parquet和ORC中,仅添加一个新列非常容易,但删除它并不容易。更改数据类型可能需要一个函数来转换存储的数据(如字符串到整数)。通常,如果您要进行重大更改,则可能必须重新创建维度或事实表。...但是,就像关系系统一样,可以使用一些技术使它变得更容易:就像不用更改列数据类型,只需添加具有新数据类型的新列即可。

    91400

    专家指南:大数据数据建模的常见问题

    理想情况下,检查要运行的查询,并为这些用例确定适当的文件格式。 2) 为工作负载使用正确的查询引擎。...归根结底,这是所有相同的数据,针对三种用例以三种方式存储,以确保获得最佳结果。工业数据模型本身并不是过时的,但需要在用例级别上通过更灵活的数据建模方法加以补充。...在为大数据建模时,与自然键相比,代理键是否有助于更好的联接性能? 是的,代理键绝对可以提供帮助。通常,我们发现代理键的连接基本上更快,尤其是当自然键为字符串列时。整数更易于比较联接性能。...例如,在Parquet和ORC中,仅添加一个新列非常容易,但删除它并不容易。更改数据类型可能需要一个函数来转换存储的数据(如字符串到整数)。通常,如果您要进行重大更改,则可能必须重新创建维度或事实表。...但是,就像关系系统一样,可以使用一些技术使它变得更容易:就像不用更改列数据类型,只需添加具有新数据类型的新列即可。

    1.2K20

    挑逗 Java 程序员的那些 Scala 绝技

    简洁的初始化方式 在 Scala 中,我们可以这样初始化一个列表。 ? 可以这样初始化一个 Map。 ? 所有的集合类型均可以用类似的方式完成初始化,简洁而富有表达力。...需要注意的是 Tuple 的元素索引从1开始。 下面的示例代码是在一个长整型列表中寻找最大值,并返回这个最大值以及它所在的位置。 ?...在实际开发中,一个模型类或值对象可能拥有很多属性,其实很多属性都可以设置一个合理的默认值。利用默认值和命名参数,我们可以非常方便地创建模型类和值对象的实例。...就像量子物理学中薛定谔的猫,在异步任务执行之前,你根本无法预知返回的结果是 Success[T] 还是 Failure[T],只有当异步任务完成执行以后结果才能确定下来。 ?...例如我们通过实现一个隐式转换,将 Scala 的 JsObject 类型无缝地对接到了 MongoDB 的官方 Java 驱动的查询接口中,看起就像是 MongoDB 官方驱动真的提供了这个接口一样。

    1K20

    python面试题目及答案(数据库常见面试题及答案)

    list() - 此函数用于将任何数据类型转换为列表类型。 dict() - 此函数用于将顺序元组(键,值)转换为字典。 str() - 用于将整数转换为字符串。...Python中的数组和列表具有相同的存储数据方式。但是,数组只能包含单个数据类型元素,而列表可以包含任何数据类型元素。 Q16、Python中的函数是什么? 函数是一个代码块,只有在被调用时才会执行。...在Python中,capitalize()函数可以将字符串的第一个字母大写。如果字符串在开头已经包含大写字母,那么它将返回原始字符串。 Q30、如何将字符串转换为全小写?...Operators是特殊函数,它们比较一个或多个值并产生相应的结果。...这包含true或false值,并且必须为其评估语句。其基本语法为: 三元运算符是用于显示条件语句的运算符。这包含true或false值,并且必须为其评估语句。

    11.3K20

    吐血总结!50道Python面试题集锦(附答案)「建议收藏」

    list() - 此函数用于将任何数据类型转换为列表类型。 dict() - 此函数用于将顺序元组(键,值)转换为字典。 str() - 用于将整数转换为字符串。...Python中的数组和列表具有相同的存储数据方式。但是,数组只能包含单个数据类型元素,而列表可以包含任何数据类型元素。 Q16、Python中的函数是什么? 函数是一个代码块,只有在被调用时才会执行。...在Python中,capitalize()函数可以将字符串的第一个字母大写。如果字符串在开头已经包含大写字母,那么它将返回原始字符串。 Q30、如何将字符串转换为全小写?...Operators是特殊函数,它们比较一个或多个值并产生相应的结果。...这包含true或false值,并且必须为其评估语句。其基本语法为: 三元运算符是用于显示条件语句的运算符。这包含true或false值,并且必须为其评估语句。

    10.6K10

    技术 | Python从零开始系列连载(二十六)

    一般拿到日期型数据时基本都是字符串表示的,如 '2017-04-24' 和 '2017/04/24 22:09:48' 。该如何将其转换为日期型和日期时间型呢?...例如: 第一个红框表示的是导入datetime模块; 第二个红框表示使用datetime模块下的子模块datetime函数strptime完成字符串到日期时间型的转换,但奇怪的是,原始数据为日期型的字符串...数据类型转换 第一个红框:如果你需要将字符串型的小数转化为整数,必须先将字符串转化为浮点型,然后才可以转化为整数,否则将会报错。...第一个红框:虽然数值12转化为字符串时,打印出来却没有双引号,但通过type函数反馈的数据类型确实是字符串型。...其他字典方法 这里需要注意的是,必须使用list函数套在items、keys、values等方法外面,否则不会产生列表结果,而是一个迭代器。

    1.5K50

    吐血总结!100个Python面试问题集锦

    list() - 此函数用于将任何数据类型转换为列表类型。 dict() - 此函数用于将顺序元组(键,值)转换为字典。 str() - 用于将整数转换为字符串。...Python中的数组和列表具有相同的存储数据方式。但是,数组只能包含单个数据类型元素,而列表可以包含任何数据类型元素。 Q16、Python中的函数是什么? 函数是一个代码块,只有在被调用时才会执行。...在Python中,capitalize()函数可以将字符串的第一个字母大写。如果字符串在开头已经包含大写字母,那么它将返回原始字符串。 Q30、如何将字符串转换为全小写?...Operators是特殊函数,它们比较一个或多个值并产生相应的结果。...其基本语法为: [on_true] if [expression] else [on_false] x,y = 25,50big = x if x <y else y Q38、为什么使用* args,*

    9.9K20

    Python编程中的基础数据类型:文本型、整型、浮点型,以及如何相互转换?【零基础Python教程006】

    上期知识: 掌握使用input输入函数,有返回值,值为(字符串)文本类型 使用print输出函数,参数可以有多个 数据类型int是整型(整数类型,包含正整数、0、负整数) 本期: 如何转换Python整型与浮点型的数值...通过以上的描述,我们可以了解到“变量”其实就像一个容器一样,我们可以往里面装很多的东西,但是注意,容器的量都是有限的,因为这个容器的容量其实就是我们计算机内容的容量。...1)如何将输入的一个字符串类型转为整型?通过int函数来实现。...在这个案例中,我们使用输入函数input来向变量t输入一个文本类型的数据‘3’,我们可以通过输出变量t看出来输出结果值为'3',然后通过int函数,在参数中传入变量t,重新再给t变量进行赋值,结果发现t...2)那么,如何将整型转浮点型呢? 可见,我们还是可以回复到本文开头部分讲到的知识点,就是用除法的方法即可。这里非常巧妙地用除法将一个整数除以1,就得到一个浮点型的数据。

    2K10

    数据库系统:第三章 关系数据库标准语言SQL

    模式与表 每个基本表都属于某个模式,一个模式包含多个基本表,定义基本表有三种方式定义其所属模式: 在表名中明显的给出模式名 创建模式时同时创建表 设置所属的模式,在创建表时不必给出模式名,类似缺省。...GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。...子句的列表达式>为表达式,如:算术表达式,字符串常量,函数,列别名等 //查全体学生的姓名及其出生年份 SELECT Sname, TO_CHAR(sysdate, 'yyyy')-Sage FROM...– GROUP BY子句的作用对象是查询的中间结果表; – 分组方法:按指定的一列或多列值分组,值相等的为一组; – 使用GROUP BY子句后,SELECT子句的列名列表中只能出现分组属性和聚集函数...首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询,若WHERE子句返回值为真,则取此元组放入结果表; 然后再取外层表的下一个元组; 重复这一过程,直至外层表全部检查完为止。

    2.7K10

    如何用python编程输入与输出?【零基础Python教程005】

    它需要一个输入函数:Input函数 2、输入函数input 使用的时候格式 input(“提示文字”) input函数有一个返回值,这个返回值就是输入的值,返回值的类型是string,我们现在可以理解为文本类型...接下去,我们再来学习一个变量的数据类型,就是文本类型。 3、数据类型:文本类型 文本类型,又称字符串类型,在Python中用str来表示这个类型。...文本类型的特征,可以进行拼接,就像贪吃蛇一样,越拼接越长,我们尝试用符号+加号来进行拼接一个bcczcs。...map函数格式: map(函数/类型, 元组/列表等迭代类型数据) map返回的结果是将第二个参数中的每一个数据都执行第一个参数中的函数/类型。 总结 1、如何进行输入?...input函数 2、默认情况下输入的数据类型是?字符串类型 3、如何将多个输入的值进行批量转换为数值类型 4、两种数据类型:整型、字符串类型 5、两个函数的简单结合使用map、split()

    82220

    挑逗 Java 程序员的那些 Scala 绝技

    利用默认值和命名参数,我们可以非常方便地创建模型类和值对象的实例。...就像量子物理学中薛定谔的猫,在异步任务执行之前,你根本无法预知返回的结果是 SuccessT 还是 FailureT,只有当异步任务完成执行以后结果才能确定下来。...,我们希望能够使用 Scala 的 JSON 库构建一个查询对象,然后直接传递给官方驱动的查询接口,而无需改变官方驱动的任何代码,利用隐式转换可以非常轻松地实现这个功能: implicit def toBson...例如我们通过实现一个隐式转换,将 Scala 的 JsObject 类型无缝地对接到了 MongoDB 的官方 Java 驱动的查询接口中,看起就像是 MongoDB 官方驱动真的提供了这个接口一样。...同时我们也可以将来自三方库的数据类型无缝集成到现有的接口中,也只需要实现一个隐式转换方法即可。

    2K70

    Redis 数据结构与内存管理策略(上)

    redis 为我们提供了 5 种数据类型,基本上我们使用频率最高的就是 string ,而对其他四种数据类型使用的频次稍弱于 string 。...上图中的左边是一个 key 为 set:order:ids 的 set 集合,它可能是一个全量集合,也可能是某个查询条件获取出来的一个集合。...上述我们分析总结出了一个查询接口的基本信息,这里还有一个有关于高并发接口的设计原则就是将 hot-top 接口和一般 search 接口分离开,因为只有分而治之才能分别根据特点选用不同的技术。...由于一个团购活动下不会有太多团,顶多上百个是极限了,所以一个查询条件出来的团列表也顶多几十个,而且根据场景分析热点查询条件不会超过十个,所以我们选择将 查询条件 hash 出一个 code 来缓存本次查询条件的全量团列表集合...那么我们如何将用户的查询条件出来的团列表根据参团人数排序尼,刚好可以使用 zset 的交集运算直接计算出当前这个集合的 zset 子集。

    1.1K70

    挑逗 Java 程序员的那些 Scala 绝技

    简洁的初始化方式 在 Scala 中,我们可以这样初始化一个列表: val list1 = List(1, 2, 3) 可以这样初始化一个 Map: val map = Map("a" -> 1, "b...companies c ON p.companyId = c.id WHERE p.age == 20 上面 SQL 语句实现的功能是关联查询 people 和 companies 两张表,返回年龄为20...就像量子物理学中薛定谔的猫,在异步任务执行之前,你根本无法预知返回的结果是 Success[T] 还是 Failure[T],只有当异步任务完成执行以后结果才能确定下来。...例如我们通过实现一个隐式转换,将 Scala 的 JsObject 类型无缝地对接到了 MongoDB 的官方 Java 驱动的查询接口中,看起就像是 MongoDB 官方驱动真的提供了这个接口一样。...同时我们也可以将来自三方库的数据类型无缝集成到现有的接口中,也只需要实现一个隐式转换方法即可。

    1.5K60

    MySQL8.0实战(二) - 数据库设计

    2 数据库建模五部曲 3 需求总结 ◆ 课程的属性:{主标题,副标题,方向,分类,难度最新最热,时长,简介,人数,需知,收获,讲师名讲师职位,课程图片综合评分,内容实用,简洁易懂,逻辑清晰} ◆ 课程列表的属性...添加时间 课程难度表 课程难度(PK) : 在课程表中有对应的方向字段 添加时间 7 课程列表实体的逻辑建模 属性 [章节名,小节名](联合PK) 说明,小节时长,章节URL,视频格式 其中,说明其实只依赖于章节名...常用的时间类型 实战时间类型的特点 新建表 插入数据 查询结果 由于北京时间是东八区,因此我们更改时区 新的查询结果 这就是timestamp具有时区性的特点...22 字符串类型的特点 23 如何为数据选择合适的的数据类型 23.1 优先选择符合存储数据需求的最小数据类型 INET_ATON( '255.255.255.255' ) = 4294967295...,如果 ENUM 里面是字符串,对于其他数据库来说就更郁闷了,还不能设为tinyint等类型的字段 23.2.2 ENUM 的索引 纯数字类型的不建议用枚举类型,这是因为在 ENUM 内部维护有一个隐形的索引

    65321
    领券