EF Core 2.1 新增:PxI接口电路设计与查询类型应用

需积分: 50 19 下载量 139 浏览量 更新于2024-08-06 收藏 6.96MB PDF 举报
在 EF Core 2.1 中,新增了一个重要的功能——查询类型(Query Types),这是对传统实体框架(Entity Framework,简称 EF)的一个扩展。查询类型与实体类型类似,用于处理那些未映射到实体类的数据,如临时 SQL 查询的结果、数据库视图、无主键表以及模型中定义的查询。它们的主要特性包括: 1. **查询执行方式**:与实体不同,查询类型不通过 `DbSet<T>` 进行操作,而是通过 `DbQuery<T>`,并且 `ModelBuilder` 中的 `Query` 方法用来配置它们,而不是 `Entity` 方法。 2. **生命周期管理**:查询类型不会被自动跟踪,不会插入、更新或删除数据库,也不会被约定发现,因此它们的生命周期由开发者主动控制。 3. **导航属性限制**:实体不能包含查询类型的导航属性,但查询类型可以包含指向实体的引用导航属性,且只支持部分导航映射功能。 4. **使用场景**:查询类型常用于返回 FromSql() 查询的结果、映射到数据库视图、无主键表或者模型定义的查询等场景。在 EF Core 视图映射中,`ToView` 方法用于指定查询的目标视图,而并非表。 5. **数据库对象操作**:虽然视图被视为只读,但开发者可以根据需要将其视为表进行查询,前提是数据库视图允许更新操作。 6. **迁移与兼容性**:EF Core 提供了从 EF6 迁移的功能,包括移植基于 EDMX 和 Code 的模型,同时考虑了不同.NET 实现和数据库提供程序之间的兼容性,如 Microsoft SQL Server、SQLite 和 InMemory 数据库。 7. **安装与配置**:EF Core 支持多种.NET 平台,包括 .NET Framework 和 .NET Core,以及针对不同场景(如新数据库、现有数据库和ASP.NETCore应用)的安装指南。 8. **关系数据库建模**:查询类型在关系数据库建模中扮演重要角色,涉及到表映射、列映射、数据类型、主键、索引等数据库对象的配置。 9. **迁移管理**:EF Core 提供了迁移工具来管理和更新数据库架构,支持团队协作和自定义操作。 10. **查询与数据访问**:讨论了如何执行基本查询、关联数据加载、客户端与服务器评估,以及查询工作的原理,包括全局筛选器、异步查询等。 EF Core 2.1 中的查询类型扩展了框架在处理非传统实体数据方面的灵活性,为开发人员提供了更多的数据操作选项和定制化能力,有助于简化复杂的数据库操作场景。