5 .NET Core笔试题
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框架?
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的关系,针对与不同的操作,对应的一个状态信息,一共五种状态; 一共五种:
7.说说什么是导航属性和引用属性?
实体框架 中的导航属性提供了一种在两个实体类型之间导航关联的方法。 导航属性在概念模型中由 NavigationProperty 元素 (CSDL) 定义。 针对对象参与到其中的每个关系,各对象均可以具有导航属性。 使用导航属性,您可以在两个方向上导航和管理关系,如果重数为一或者零或一,则返回 EntityReference,或者如果重数为多个,则返回 EntityCollection。 也可以选择单向导航,这种情况下 可以删除导航属性。8.说说EFCore7 中有哪些新功能?
9.EFCore有几种配置映射方式?
两种:1.特性映射
2.通过DbContext中的 OnModelCreating 方法来配置映射;
10.ASP.NET Core管道里面的Map拓展有什么作用?
可以针对不同的路径添加不同的中间件。12.如何从.NET Framewok升级到ASP.NET Core7?
没有办法直接升级,因为是两个完全不相同的平台,但是C#语法差不多。如果要升级,需要考虑的要点如下:
1、平台更换
2、依赖框架的变化,需要和之前的框架做对比。
3、新平台对于一些新写法尝试Option模式等等