草庐IT

5 .NET Core笔试题

郑大勇 2023-03-28 原文

1.说说你知道的ORM框架?
2.请问对EFCore有了解吗?
3.说说EFCore查询的性能调优小技巧?
4.EFCore 如果通过数据生成实体和DbContext?
5.说说对SaveChanges的理解?
6.说说对EFCore中EntityState的理解。?
7.说说什么是导航属性和引用属性;
8.说说EFCore7 中有哪些新功能 ?
9.EFCore有几种配置映射方式?
10.ASP.NET Core管道里面的Map拓展有什么作用?
11.如何从.NET Framewok升级到ASP.NET Core7?


1.说说你知道的ORM框架?

  • EntityFramework6
  • EntityFrameworkCore
  • SqlSugar
  • FreeSql
  • DosORM 等等~~

  • 2.请问对EFCore有了解吗?

    有了解。
    Entity Framework Core是适用于.NET的新式物件资料库对应程式。其支援LINQ查询、变更追踪、更新 以及结构描述移转。
    EF Core透过[资料库提供者外挂程式模型]来搭配使用SQL Server/SQL Azure、SQLite、Azure Cosmos DB、MySQL、PostgreSQL及更多资料库。

    3..说说EFCore查询的性能调优小技巧?

    如果说查询出来的数据,只是做展示,不做增删改查,可以在查询的时候,增加AsNoTracking()方法, 可以提高性能,可以避免在内存中存在副本;
    建议在查询的时候,多使用Find()方法,会有限走内存缓存,如果内存已经存在,就不会去数据库中去操 查询数据;

    4.EFCore 如果通过数据生成实体和DbContext?

    步骤如下: 1.Nuget引入 如下程序集
    Install-Package Microsoft.EntityFrameworkCore 
    Install-Package Microsoft.EntityFrameworkCore.SqlServer 
    Install-Package Microsoft.EntityFrameworkCore.Tools
    

    2.在Vs中打开工具--nuget包管理器--程序包管理器控制台:命令执行:

    Scaffold-DbContext "Data Source=DESKTOP-63QE7M1;Initial Catalog=ZhaoxiEduDataBase;User ID=sa;Password=sa123" Microsoft.EntityFrameworkCore.SqlServer  -OutputDir  Entity -Force Context ZhaoxiDbContext  -ContextDir /
    
    //注:命令参数应用如下:
    命令参数: 
    -OutputDir *** 实体文件所存放的文件目录 
    -ContextDir *** DbContext文件存放的目录 
    -Context *** DbContext文件名 
    -Schemas *** 需要生成实体数据的数据表所在的模式 
    -Tables *** 需要生成实体数据的数据表的集合 
    -DataAnnotations 
    -UseDatabaseNames 直接使用数据库中的表名和列名(某些版本不支持) 
    -Force 强制执行,重写已经存在的实体文件
    
    

    5.说说对SaveChanges的理解。 ?

    SaveChanges是以Context为维度的一次提交,对于数据库操作的一切动作,只要是在同一个Context实 例,所有的操作,在调用SaveChanges方法后,统一体现到数据库中去;

    6.说说对EFCore中EntityState的理解?

    因为EFCore对于数据库的所有操作都是通过上下文DbContext来完成的,且是通过SaveChanges方法统 一落实到数据库中去的;
    EntityState是EFCore 在对数据库操作增删改的时候,记录当前被操作的数据对 象和Context的关系,针对与不同的操作,对应的一个状态信息,一共五种状态; 一共五种:
  • Detached = 0, 当前对象和context没有任何关系,没有被上下文跟踪
  • Unchanged=1, 当前对象被context跟踪,数据没有做任何修改
  • Deleted=2, 当前对象被context跟踪,且标记是数据删除,调用SaveChanges后将会从数据中删 除;
  • Modified=3, 当前对象被context跟踪,且有属性数据被修改过,调用SaveChanges后将会从数据中 修改;
  • Added=4 当前对象被context跟踪,且数据并没有存在数据库中,调用SaveChanges后将会新增 到数据库中去;

  • 7.说说什么是导航属性和引用属性?

    实体框架 中的导航属性提供了一种在两个实体类型之间导航关联的方法。 导航属性在概念模型中由 NavigationProperty 元素 (CSDL) 定义。 针对对象参与到其中的每个关系,各对象均可以具有导航属性。 使用导航属性,您可以在两个方向上导航和管理关系,如果重数为一或者零或一,则返回 EntityReference,或者如果重数为多个,则返回 EntityCollection。 也可以选择单向导航,这种情况下 可以删除导航属性。

    8.说说EFCore7 中有哪些新功能?

  • JSON资料行
  • 查询JSON资料行
  • ExecuteUpdate 和 ExecuteDelete (大量更新)
  • 更快速的 SaveChanges

  • 9.EFCore有几种配置映射方式?

    两种:
    1.特性映射
    2.通过DbContext中的 OnModelCreating 方法来配置映射;

    10.ASP.NET Core管道里面的Map拓展有什么作用?

    可以针对不同的路径添加不同的中间件。

    12.如何从.NET Framewok升级到ASP.NET Core7?

    没有办法直接升级,因为是两个完全不相同的平台,但是C#语法差不多。
    如果要升级,需要考虑的要点如下:
    1、平台更换
    2、依赖框架的变化,需要和之前的框架做对比。
    3、新平台对于一些新写法尝试Option模式等等

    有关5 .NET Core笔试题的更多相关文章

    1. JS笔试题 - 2

      二升三笔试(老田)一.数组扁平化(将一个多维数组变为一个一维数组。例如,将数组[1,2,[3,[4,5]],[6,7]]扁平化处理后输出[1,2,3,4,5,6,7];)functiongetArray(arr){letres=[];for(leti=0;i 二.合并有序数组给定两个从小到大排好序的数组,亲,请你把它两个合并成新的数组,合并后的结果依然有序。如:给定数组:[1,3,7,15,20]和数组:[-5,0,2,8,9,12]。那么结果是:[-5,0,1,2,3,7,8,9,12,15,20]functionmergeSortedArrays(arr1,arr2){varmergedA

    2. 盘点6个.NetCore+Vue前后端分离的开源项目 - 2

      今天我们一起梳理下6个,比较受到大家欢迎的.NetCore+Vue前后端分离的开源项目。1、Vol.NetCore构建的简单、跨平台快速开发框架项目简介这是一个基于.NetCore构建的简单、跨平台快速开发框架。前后端封装了上千个常用类,方便扩展;集成了代码生成器,支持前后端业务代码生成,实现快速开发,提升工作效率;框架集成了表单、表格、图表等各种常用的Demo方便直接使用;后端框架支持Vue2、Vue3。技术架构1、跨平台:这是基于.NetCore开发的系统,可以部署在Docker,Windows,Linux,Mac。2、数据库支持:MicrosoftSQLServer,PostgreSQL

    3. 【Java牛客&力扣刷题特辑第五期】——诸佬们这些坑你们都踩过了吗?牛客网经典笔试题目每天刷两道,快乐充实一整天 - 2

      ✨✨【Java牛客&力扣刷题特辑第五期】——诸佬们这些坑你们都踩过了吗?✔✨前言🎉🎉大家好!好久不见我是青花瓷,今天你刷题了吗?文章目录,从易到难,层层递进,如果每一道题都吃透,你一定会在做题方面有质的飞跃,关注我,一起学习算法,一起分享好的题型。博主将持续更新算法,大厂笔试题,经典算法题,易错题,如果觉得不错,点点赞支持一下,如果有错误的地方,欢迎指正✨✨下一期:算法篇之回溯算法作者介绍:🎓作者:偷偷敲代码的青花瓷✨👀作者的Gitee:代码仓库📌系列文章推荐:✨1.Java牛客&力扣刷题特辑第一期✨2.Java牛客&力扣刷题特辑第二期✨3.Java牛客&力扣刷题特辑第三期✨4.Java牛客&

    4. c# - .NETCore 4.5.1 中是否缺少 GetTypeInfo? - 2

      我尝试将嵌入式资源(Windows8.1商店应用程序中的字体文件)作为字节流读取,但问题是对资源文件的访问。我经常用typeof(Type).GetTypeInfo.Assembly.GetMainfestResourceStream(...)但是.NETCorev.4.5.1的System.Reflection.Type中的方法GetTypeInfo()不存在。是否缺少Lib-Reference?我有点困惑^^ 最佳答案 Itisanextensionmethod,addingusingSystem.Reflection;isre

    5. c# - 替换 NetCore 1.0 中的 Array.ConvertAll - 2

      我当前的代码正在使用Array.ConvertAll,我需要将其迁移到netcore1.0。如何将其迁移到NetCore中工作。我们可以使用带有自定义转换代码的foreach语句来处理转换吗?但我不知道该怎么做。感谢任何帮助。 最佳答案 代替int[]array1=...string[]array2=Array.ConvertAll(array1,element=>element.ToString());您可以使用Linq:int[]array1=...string[]array2=array1.Select(element=>el

    6. c# - 如何修复 'Microsoft.NETCore.App' ,找不到版本 '1.1.2'? - 2

      我在尝试运行单元测试时看到此错误:Testhostprocessexitedwitherror:ItwasnotpossibletofindanycompatibleframeworkversionThespecifiedframework'Microsoft.NETCore.App',version'1.1.2'wasnotfound.-Checkapplicationdependenciesandtargetaframeworkversioninstalledat:\-Alternatively,installtheframeworkversion'1.1.2'.如何解决?

    7. c# - NETSDK1061 : The project was restored using Microsoft. NETCore.App 版本1.0.0,但使用当前设置,将使用版本2.0.9 - 2

      我正在开发移动应用程序并使用MSAppCenterforCI。昨天,单元测试项目未能在AppCenter中构建,出现以下错误。我无法在任何开发人员机器上重现该问题,此错误仅发生在AppCenter中。error:NETSDK1061:TheprojectwasrestoredusingMicrosoft.NETCore.Appversion1.0.0,butwithcurrentsettings,version2.0.9wouldbeusedinstead.Toresolvethisissue,makesurethesamesettingsareusedforrestoreandfor

    8. YY-测试实习生笔试+面试复盘 - 2

      YY-测试实习生笔试+面试复盘笔试题都挺基础的,基本都写出来了,好好准备可以过的。因为疫情所以是线上的,在牛客上笔试有摄像头。一、笔试题单选题:如下哪些测试场景不属于负载压力测试()A.疲劳强度测试B.恢复测试C.大数据量测试D.并发性能测试填空题:1请写出二进制数10111101对应的八进制、十六进制、十进制。2数据库DB有两张表,一张学生信息表Student,有No(学号),Name(姓名),Sex(性别),Birth(生日),Dept(院系)四个字段;一张课程表Class,有No(学号),Class(课程),Score(分数)三个字段1)请写一条sql查询语句,查找性别为“女”且学号大于

    9. 华为机试(6.17笔试题解析) - 2

      华为机试一共三道题,分值分别是100,100,200,满分400分,限时2.5小时。我抽到的这三题相对来说比较简单,满分通过,这里做个总结:第一题:数据分类■ 题目描述 对一个数据a进行分类,分类方法为:此数据a(四个字节大小)的四个字节相加对一个给定的值b取模,如果得到的结果小于一个给定的值c,则数据a为有效类型,其类型为取模的值;如果得到的结果大于或者等于c,则数据a为无效类型。比如一个数据a=0x01010101,b=3,按照分类方法计算(0x01+0x01+0x01+0x01)%3=1,所以如果c=2,则此a为有效类型,其类型为1,如果c=1,则此a为无效类型;又如一个数据a=0x01

    10. IC 笔试真题之吾见——华为实习(1) - 2

      前言今天(20220407)刚建立了一个专栏《IC真题之吾见》,准备记录一些IC真题的见解,为以后找工作做一点准备。刷题绝不是目的,以题代练,以题代学。题目来自师兄申请华为实习“设计”岗位的笔试真题。见解大部分来自自己学习的理解,也有部分超纲知识是网络检索得到,希望可以多多在评论区留言交流,共同进步!有问题的地方也希望可以直接批评指正!后面也会同步更新此专栏!建议PC端或Pad端查看!1、下列有关时序分析的描述正确的是()A.recovery时间,是指异步控制信号在有效时钟沿到达之后必须保持稳定的时间B.时钟信号的建立时间裕度的计算方法是基于数据的到达时间和数据的需要时间C.下面的公式用来计算

    随机推荐