主实体框架:50 个关键面试问题与解答 (2026)
准备实体框架面试意味着预测揭示真实能力的问题。实体框架面试问题揭示了思维、绩效意识以及候选人如何将概念转化为实践。
掌握实体框架可以在现代开发中发挥作用,从数据驱动平台到云服务。实践经验可以培养分析能力、增强技术深度并为团队提供支持。招聘领导重视实际解决问题、可扩展的设计、指导初级员工以及应届毕业生的成长路径。
阅读更多...👉 免费 PDF 下载:实体框架面试问题与解答
1) 什么是实体框架以及为什么使用它?
实体框架 (EF) 是 Microsoft 的 .NET ORM(对象关系映射)框架,允许开发人员将数据作为强类型 .NET 对象而不是原始 SQL 来处理,从而简化了数据库交互 。这种抽象使开发人员能够使用熟悉的 C# 结构执行 CRUD(创建、读取、更新、删除)操作,并且该框架会在后台将这些操作转换为优化的 SQL 查询。 EF 减少了样板数据访问代码,提高了可维护性,并有助于增强编译时类型安全性。
例如,您可以使用以下命令来代替编写 SQL:
<前>00前>EF 会将此 LINQ 查询转换为 SQL,对数据库执行它,并将结果作为对象返回。
2) 解释代码优先、数据库优先和模型优先方法之间的区别。
实体框架支持三种主要的开发方式:
每种方法适用于不同的场景:代码优先 敏捷开发中流行数据库优先 首选旧数据库,并且模型优先 适合视觉建模很重要的情况。
3)DbContext是什么,它在EF中扮演什么角色?
DbContext 是管理与数据库的会话的主要类 ,跟踪实体更改,并协调将数据保存回数据库。它代表 C# 应用程序和数据库之间的桥梁。通过 DbContext ,您定义DbSet<TEntity> 属性,表示实体的集合并映射到数据库中的表。
示例:
<前>19前>
在这里,Products 充当执行 CRUD 操作的集合。 EF 使用此上下文来跟踪对象状态 并在 SaveChanges() 上生成 SQL 命令 .
4) 实体框架中的迁移是什么以及如何使用它们?
迁移 是一种跟踪和应用架构更改的机制 随着时间的推移到数据库。随着模型的发展,迁移有助于保持数据库同步,而无需手动修改 SQL 脚本。使用 Code First,您可以使用如下命令:
<前>27前>这会生成定义架构更改并将其应用到数据库的迁移类。迁移允许对数据库模式进行版本控制并促进协作开发。
5) 描述延迟加载、急切加载和显式加载。
在 EF 中,高效加载相关数据至关重要。对比一下:
.Include() 预先加载相关数据 当您知道需要相关数据时使用。显式加载 查询后手动加载可以准确控制相关数据的加载时间。 例如:
<前>31前>延迟加载有助于减少初始查询,但可能会导致 N+1 查询问题 如果不小心使用。
6) 实体框架中的更改跟踪是什么?
更改跟踪是 EF 监控实体状态更改的内部机制 执行查询后。当DbContext检索实体时 ,它被跟踪。对其属性的任何修改都会被记录下来,并且当 SaveChanges() 被调用时,EF 会生成相应的 SQL INSERT ,UPDATE ,或DELETE 声明。对于不需要跟踪的只读场景,AsNoTracking() 通过禁用更改跟踪来提高性能。
7)实体框架如何处理并发冲突?
并发控制可确保更新相同数据的多个用户不会无意中覆盖彼此的更改。 EF 使用乐观并发 默认情况下。一种常见的方法是添加并发令牌 (如 RowVersion 时间戳)。 EF 在 SaveChanges() 期间检查此令牌 ,如果它与数据库版本不同,则为 DbUpdateConcurrencyException 被抛出,表明存在冲突。开发者可以处理此异常以重试或解决数据差异。
8) EF 中的导航属性是什么?
导航属性定义实体之间的关系。它们允许 EF 导航关联 (例如,一对多)无需手动连接:
<前>49前>
这里,Customer 是链接 Order 的导航属性 到其相关的Customer 。 EF 使用这些属性在查询期间自动构建关系和联接。导航属性与外键一起使用 建立关系模型。
9) AsNoTracking() 的用途是什么?
AsNoTracking() 禁用查询的更改跟踪,这有利于只读 您不打算更新检索到的实体的操作。这通过减少内存使用和跟踪开销来提高性能。当获取大型数据集而不修改它们时,它特别有用。
10) 什么是编译查询以及何时应该使用它们?
编译查询是一种性能优化技术。当执行 LINQ 查询时,EF 通常每次都会将其转换为 SQL。对于已编译的查询,此转换只需完成一次,并且可以重用生成的委托,从而减少频繁执行或复杂查询的开销。在高流量中使用它们 使用不同参数重复运行同一查询的场景。
11) 实体框架中的实体状态是什么,它们如何影响 SaveChanges()?
实体框架跟踪每个实体的状态 确定SaveChanges()期间要执行的数据库操作 。主要实体状态有:
INSERT 修改 现有实体已更新UPDATE 已删除 标记为删除的实体DELETE 不变 未检测到任何更改无已分离 不被 contextNone 跟踪
当您拨打SaveChanges()时 ,EF检查实体状态并执行相应的SQL命令。例如,添加到 DbSet 的新实体 将被标记为已添加 ,结果为 INSERT 查询。
示例:
<前>57前>这显式更新了实体的数据库记录。
了解状态 确保更好地控制数据同步和性能。
12)使用实体框架有哪些优点和缺点?
实体框架提供了强大的优势,但也有一些权衡,具体取决于您的用例。
对于需要最高性能的大型系统,开发人员仍然可以将原始 SQL 与 EF 混合使用 进行优化。
13)实体框架如何处理关系(一对一、一对多、多对多)?
实体框架通过导航属性管理关系 和外键关联 .
关系类型有:
User ↔ UserProfile 一对多 一个实体与多个其他实体相关。Customer → Orders 多对多 多个实体相互关联。Student ↔ Course 一对多示例 关系:
<前>60前>EF自动生成外键并处理级联删除规则 取决于配置。
您还可以使用Fluent API 以获得更明确的关系映射。
14) LINQ to Entities 和 LINQ to SQL 之间有什么区别?
实体的 LINQ 是实体框架的一部分,用途更广泛,而 LINQ to SQL 仅限于 SQL Server 和更简单的用例。
因此企业级开发推荐使用LINQ to Entities。
15)ObjectContext 和 DbContext 有什么区别?
DbContext 内部包装 ObjectContext 但提供了更干净、更直观的 API。当前大多数 .NET 应用程序应使用 DbContext .
16) 解释实体框架中实体的生命周期。
实体的生命周期描述了它的状态转换 从创造到坚持:
- 创作 – 实体在内存中实例化(状态:分离 )。
- 附件 – 通过
DbSet.Add()添加到上下文 (状态:已添加 )。 - 修改 – 自动检测到的更改(状态:已修改 )。
- 坚持 -
SaveChanges()调用 → 执行 SQL 命令。 - 删除 – 实体标记为已删除 并从数据库中删除。
了解此生命周期有助于调试数据问题和优化 EF 上下文管理。
17)Fluent API在Entity Framework中的用途是什么?
流畅的 API 提供一种编程方式来配置模型关系、约束和映射,通常在 OnModelCreating() 中使用 DbContext 的方法 .
它可以对数据注释的配置进行细粒度控制 无法表达。
示例:
<前>72前>Fluent API 对于配置复合键特别强大 , 多对多关系 ,以及级联规则 .
18) 实体框架中的数据注释是什么?
数据注释是属性 直接应用于模型类或属性来定义模式行为。它们比 Fluent API 更简单,但灵活性较差。
示例:
<前>89前>注释定义键、字符串长度、必填字段和关系。对于高级案例,开发人员通常结合数据注释 和流畅的API .
19) EF Core 中跟踪实体和未跟踪实体有什么区别?
DbContext 监控 用于更改。更新的默认行为。未跟踪的实体 不受监控;使用 .AsNoTracking() 检索 .非常适合只读操作。 跟踪的实体消耗更多内存,但允许 EF 自动检测更改。
未跟踪的实体可提高性能 在高读取、低更新的场景中。
20) 如何在实体框架中执行原始 SQL 查询?
实体框架允许为自定义或性能关键查询执行原始 SQL。
<前>99前>对于非查询命令:
<前>106前>谨慎使用此功能以避免 SQL 注入 并保持与数据库无关的灵活性。
21) Entity Framework 和 Entity Framework Core 有什么区别?
Entity Framework (EF) 和 Entity Framework Core (EF Core) 在架构、功能和跨平台支持方面有所不同。
EF Core 是现代的、积极开发的 由于其灵活性和性能,该版本是新 .NET 项目的推荐选择。
22)事务在实体框架中如何工作?
实体框架中的事务确保数据完整性 当多个操作必须同时成功或失败时。默认情况下,EF 包装 SaveChanges() 交易内。对于手动控制:
这确保了原子性——如果任何命令失败,所有更改都会回滚。
EF 还与 System.Transactions 集成 用于分布式事务支持。
23) 解释实体框架中的 TPH、TPT 和 TPC 继承策略。
实体框架支持三种主要的继承映射策略来建模类层次结构。
大多数开发者更喜欢 TPH 为了简单起见,除非标准化或性能需求另有规定。
24) 如何处理实体框架中的性能调整?
优化实体框架性能:
- 使用
AsNoTracking()用于只读查询。 - 渴望加载 仅具有
.Include()的必要相关实体 . - 避免 N+1 查询 使用投影或
Select(). - 使用编译查询 用于频繁运行的操作。
- 批量多次插入/更新 与
AddRange()和SaveChanges(). - 禁用 AutoDetectChanges 对于批量操作:
context.Configuration.AutoDetectChangesEnabled = false; - 使用缓存和分页 对于大型数据集。
经过精心调优的 EF 实现可以接近 ADO.NET 的性能,同时保持开发人员的工作效率。
25) Entity Framework Core 中的影子属性是什么?
影子属性 存在于EF模型中但不存在于实体类中。它由EF在变更跟踪器中维护并存储在数据库中。
示例:
<前>129前>这允许 EF 存储额外的元数据(例如时间戳、审计信息),而无需修改实体类。
您可以通过以下方式访问阴影属性:
<前>133前>影子属性非常适合日志记录或审计场景。
26) EF Core 中的值转换器是什么?
EF Core 中的值转换器允许在读取或写入数据库时转换属性值。
例如,要将枚举存储为字符串:
<前>146前>
这增强了自定义数据类型(例如 enum)的灵活性 , bool ,或DateTimeOffset .
值转换器还用于加密、压缩或屏蔽 敏感数据。
27) 什么是全局查询过滤器,它们如何工作?
全局查询过滤器允许自动将条件应用于实体的所有查询。
这对于软删除特别有用 或多租户 .
示例:
<前>158前>
针对 Employee 执行的每个查询 自动排除软删除记录,除非明确覆盖。
全局过滤器提高了可维护性和数据安全性。
28) 如何使用单元测试来测试实体框架代码?
要在不访问真实数据库的情况下对 EF 逻辑进行单元测试,请使用内存数据库 或嘲笑 :
- 选项 1:InMemory 提供程序 <前>165前>
- 选项 2:模拟 DbContext
模拟DbSet使用 Moq 等库 用于隔离测试。
单元测试应该验证:
- 查询正确性(通过 LINQ)
SaveChanges()- 存储库逻辑
使用 EF Core InMemory 进行测试可确保速度并避免对 SQL Server 的依赖。
29) 解释 EF 中的存储库和工作单元模式。
这两种架构模式有助于抽象数据访问 并保持事务一致性 .
IRepository<T> 与 Add() 的接口 , GetAll() 等工作单元 协调事务中的多个存储库。SaveChanges() 充当提交边界。 示例:
<前>178前>这些模式提高了可测试性 , 代码重用 ,以及关注点分离 在大型企业应用中。
30) 急切加载和投影加载有什么区别?
.Include() .Select() 示例context.Orders.Include(o => o.Customer) context.Orders.Select(o => new { o.Id, o.Customer.Name }) 性能获取完整对象获取最少数据用例当需要相关实体进行处理时当您需要特定的轻量级数据时 投影加载是一种性能优化 通过仅选择必要的列来减少内存开销。
31) Entity Framework Core 中的拦截器是什么?
EF Core 中的拦截器允许开发人员拦截和修改数据库操作,例如查询执行、命令创建和连接打开 .
它们充当 EF 和数据库提供程序之间的中间件组件。
示例: 记录所有执行的 SQL 命令。
<前>185前>
您在 DbContextOptionsBuilder 中注册它 :
好处:
- 增强的日志记录
- 安全性(查询验证)
- 审核和绩效跟踪
32) EF Core 如何处理异步操作?
Entity Framework Core 完全支持异步编程 通过SaveChangesAsync()等方法 , ToListAsync() 和 FirstOrDefaultAsync() .
异步执行有助于提高可扩展性 在 Web 应用程序中,通过在等待 I/O 绑定的数据库操作时释放线程来实现。
示例:
<前>201前>异步操作在高吞吐量 ASP.NET Core API 中特别有效 和微服务,减少阻塞调用并提高响应时间。
33) Entity Framework Core 中的连接弹性是什么?
连接弹性可帮助您的应用程序从暂时的数据库故障中自动恢复 ,例如网络中断或SQL超时。
可以按如下方式配置:
<前>219前>在这里,EF 会延迟重试失败的操作最多 5 次。
这在云托管环境中特别有用 就像 Azure SQL 一样,瞬态故障很常见。
34) EF Core 中的自有实体类型有哪些?
拥有的实体允许建模值对象 完全取决于另一个实体的生命周期。
它们与其所有者共享同一张表,不能独立存在。
示例:
<前>228前>配置:
<前>237前>用例:
对地址等概念进行建模 , 钱 ,或测量 没有自己的身份。
35) 如何在 Entity Framework Core 中实现软删除?
软删除将记录标记为已删除,而不是物理删除它们。
它们是使用布尔标志实现的 和全局查询过滤器 .
<前>241前>在删除操作中:
<预>250预>优点:
- 历史数据保存
- 更容易恢复
缺点:
- 更大的数据库表
- 需要仔细的过滤逻辑
36) EF Core 中的编译模型是什么以及为什么使用它?
在 EF Core 6+ 中,编译模型 允许将 EF 模型元数据预编译到 .NET 程序集中,从而减少启动时间和运行时开销。
步骤:
- 运行命令:
dotnet ef dbcontext optimize - EF 生成预编译的模型文件,应用程序可以在运行时更快地加载该文件。
好处: 将初始化延迟减少 30-40%,特别是在具有许多实体的大型应用程序中。
用例: 高性能微服务和无服务器环境。
37) 如何在实体框架中实现缓存?
缓存有助于减少重复的数据库查询。主要有两个层次:
DbContext 实例自动管理二级缓存 跨上下文共享外部缓存使用 EFCoreSecondLevelCacheInterceptor 等库 二级缓存示例:
<前>265前>这显着提高了读取密集型应用程序的性能 通过避免冗余的数据库命中。
38) EF Core 如何管理并发令牌和时间戳?
并发令牌可防止更新冲突 在多用户环境中。
您可以使用 [ConcurrencyCheck] 将属性标记为并发令牌 或[Timestamp] 属性。
示例:
<前>279前>
发生更新时,EF 会将此列包含在 WHERE 中 条款。
如果值不匹配,则返回 DbUpdateConcurrencyException 被抛出——确保乐观的并发控制 .
39) 如何在 EF Core 中实现审核(创建、修改、删除跟踪)?
审核跟踪元数据,例如谁创建、修改或删除 记录。
您可以覆盖 SaveChanges() :
界面:
<前>295前>此方法集中了审核逻辑,确保一致的数据治理 .
40) 在企业应用程序中使用实体框架的最佳实践是什么?
AsNoTracking() 和只读查询的投影。减少开销。设计 实施存储库和工作单元模式。提高可维护性。安全性 使用参数化查询来避免 SQL 注入。数据保护。可扩展性 使用连接池和异步方法。处理高负载。迁移 使用带有版本控制的自动迁移。简化架构管理。配置 外部化连接字符串和机密。更好的环境隔离。测试 使用 InMemory 提供程序进行单元测试。测试运行速度更快。日志记录 启用 EF 日志记录以获取性能洞察。更轻松的调试。 这些实践确保健壮、可扩展且可维护 基于实体框架构建的应用程序。
41) 如何优化 LINQ 查询以在实体框架中实现更好的 SQL 转换?
实体框架自动将 LINQ 查询转换为 SQL,但低效模式可能会产生缓慢或冗余的 SQL。优化 LINQ 可确保 ORM 生成高性能的数据库查询。
优化技术:
使用预测:
- 仅选择所需的列,而不是整个实体。
始终确保在 SQL 中进行过滤 ,不在内存中。当评估在客户端时,EF Core 会发出警告。使用
AsNoTracking() 用于只读数据。316利用编译查询 用于重复的 LINQ 操作。避免不必要的
.Include() 来电 — 仅在需要时包含相关数据。 示例:
效率低下:
<前>327前>高效:
<前>330前>42) 在 EF Core 中播种初始数据有哪些不同方法?
数据播种确保数据库具有默认或参考数据 创建时。
方法 1:使用模型构建器
<前>344前>
这会在 Update-Database 期间自动插入数据 .
方法 2:自定义种子方法
启动时手动执行代码:
<前>354前>方法 3:SQL 脚本
在迁移中使用原始 SQL:
<前>366前>
建议:
使用HasData() 用于静态参考数据和动态启动数据的编程播种。
43) EF Core 如何在内部管理数据库提供程序?
EF Core 与提供商无关 ,这意味着它可以通过单独的数据库提供程序包来定位多个数据库引擎 .
常见提供商:
Microsoft.EntityFrameworkCore.SqlServer MSSQLSQLiteMicrosoft.EntityFrameworkCore.Sqlite 移动/桌面PostgreSQLNpgsql.EntityFrameworkCore.PostgreSQL PostgreSQLMySQLPomelo.EntityFrameworkCore.MySql MySQLCosmos DBMicrosoft.EntityFrameworkCore.Cosmos NoSQL 在内部,EF Core 使用抽象层 对于:
- 查询翻译
- SQL 命令生成
- 数据类型映射
每个提供程序都实现自己的类,继承自 EF Core 的基本抽象(例如,RelationalDatabaseProvider ,QuerySqlGenerator )。
44) 什么是“分割查询”,什么时候应该使用它?
拆分查询会阻止 EF 执行大型、复杂的联接 通过执行多个 SQL 查询而不是一个。
示例:
<前>378前>执行:
- 查询 1 → 获取客户
- 查询 2 → 获取与这些客户相关的订单
好处:
- 防止出现大型笛卡尔积。
- 提高大型相关数据集的性能。
缺点:
多次往返数据库。
使用拆分查询 当急切加载大量相关数据时可能会导致内存问题。
45) 如何有效监控 EF 生成的 SQL 命令?
监控 SQL 有助于调试缓慢的查询并优化 ORM 行为。
记录 SQL 的方法:
- 控制台日志记录
DbCommandInterceptor 捕获命令和计时。分析工具 使用如下工具:- 迷你分析器
- SQL Server 探查器
- EFCorePowerTools
应选择性地启用日志记录 在生产中以避免性能开销。
46) ChangeTracker.DetectChanges() 和 AutoDetectChangesEnabled 有什么区别?
DetectChanges() AutoDetectChangesEnabled 示例:
<前>405前>禁用循环中的自动检测可将性能提高高达 40% 批量操作。
47) 如何将时态表与 EF Core 结合使用?
时态表(在 SQL Server 2016 中引入)允许您跟踪历史数据 自动。
步骤:
- 在迁移过程中启用临时支持:
423
优点:
- 内置数据历史记录跟踪
- 审核与合规
- 无需手动触发
EF Core 6+ 支持全时态查询。
48) EF Core 如何同时支持编译查询和预生成模型?
编译查询和编译模型是两个性能特征 相辅相成。
编译查询示例:
<前>437前>用法:
<前>445前>在一起: 编译模型降低启动成本 ,而编译查询会减少运行时查询开销 — 非常适合高频查询 .
49) 在微服务架构中使用 EF 时常见的陷阱有哪些?
常见错误:
- 跨服务共享 DbContext
→ 违反了微服务隔离。
→ 每个微服务都应该有自己的 DbContext 和架构。 - 闲聊沟通(N+1 查询)
→ 最大限度地减少每次 API 调用的 EF 查询。 - 过度急切加载
→ 仅通过 DTO 加载所需内容。 - 集中迁移
→ 每个服务都应该独立管理自己的迁移。 - 缺乏交易边界
→ 如果需要跨服务一致性,请使用分布式事务(发件箱模式)。 - 与 SQL 提供程序的紧密耦合
→ 使用存储库抽象来保持数据库选择的灵活性。
50) 依赖注入如何与 ASP.NET Core 中的 DbContext 集成?
实体框架与 ASP.NET Core 的内置依赖注入 (DI) 无缝集成 系统。
设置:
<前>453前>然后将其注入到控制器或服务中:
<前>460前>生命周期:
使用 DI 可确保可测试性、生命周期管理 和资源效率 跨网络和后台进程。
🔍 顶级实体框架面试问题与现实场景和战略回应
1) 什么是实体框架,为什么在企业应用程序中使用它?
对候选人的期望: 面试官希望评估您对实体框架及其在实际应用程序中的价值的基本理解。
示例答案: 实体框架是 .NET 的对象关系映射框架,允许开发人员使用 .NET 对象而不是原始 SQL 来处理数据库。它在企业应用程序中用于提高生产力、减少样板数据访问代码并保持强大的关注点分离。
2) 您能解释一下代码优先、数据库优先和模型优先方法之间的区别吗?
对候选人的期望: 面试官希望评估您对不同开发工作流程的了解以及何时使用每种工作流程。
示例答案: Code First 从域类开始,并从代码生成数据库。 Database First 从现有数据库开始并生成实体类。 Model First 使用可视化设计器来定义模型,然后创建代码和数据库。 Each approach is chosen based on project requirements and existing infrastructure.
3) How does Entity Framework handle relationships between tables?
Expected from candidate: The interviewer is checking your understanding of data modeling and relational mapping.
Example answer: Entity Framework handles relationships using navigation properties and foreign keys. It supports one-to-one, one-to-many, and many-to-many relationships, allowing developers to traverse related data using object references rather than joins.
4) Describe a situation where you improved database performance using Entity Framework.
Expected from candidate: The interviewer wants to hear a practical example demonstrating optimization skills.
Example answer: In my previous role, I improved performance by reducing unnecessary eager loading and implementing projection queries with Select statements. This minimized the amount of data retrieved from the database and significantly reduced query execution time.
5) How do you manage migrations in Entity Framework?
Expected from candidate: The interviewer is assessing your experience with schema changes and version control.
Example answer: Migrations are managed using the built-in migration tools that track model changes over time. At a previous position, I regularly generated and reviewed migration scripts before applying them to ensure database integrity across environments.
6) What is lazy loading, and when would you avoid using it?
Expected from candidate: The interviewer wants to test your understanding of data loading strategies and performance trade-offs.
Example answer: Lazy loading automatically loads related data when it is accessed. I would avoid using it in performance-critical scenarios or APIs because it can cause multiple unintended database calls, leading to the N+1 query problem.
7) How do you handle transactions in Entity Framework?
Expected from candidate: The interviewer is evaluating your knowledge of data consistency and error handling.
Example answer: Entity Framework supports transactions through the DbContext and TransactionScope. At my previous job, I used explicit transactions to ensure that multiple related database operations either completed successfully together or were rolled back in case of failure.
8) Explain how dependency injection is used with Entity Framework.
Expected from candidate: The interviewer wants to see how well you understand modern application architecture.
Example answer: Dependency injection is used to inject the DbContext into services or controllers. This improves testability and maintainability by allowing the context to be mocked or replaced without changing business logic.
9) Describe a challenging bug you encountered with Entity Framework and how you resolved it.
Expected from candidate: The interviewer is looking for problem-solving ability and debugging skills.
Example answer: In my last role, I encountered an issue with tracking conflicts when updating detached entities. I resolved it by explicitly setting entity states and ensuring that only one instance of each entity was tracked by the context.
10) How do you decide when Entity Framework is not the right tool?
Expected from candidate: The interviewer wants to understand your judgment and ability to choose appropriate technologies.
Example answer: I consider alternatives when applications require extremely high-performance data access or complex stored procedure logic. In such cases, using a micro-ORM or raw ADO.NET can provide more control and efficiency.
C语言
-
Arduino - 通过 Facebook Messenger 监控门打开
组件和用品 Arduino UNO × 1 适用于 Arduino 的 PHPoC WiFi 扩展板 × 1 磁性接触开关 × 1 应用和在线服务 IFTTT Maker 服务 关于这个项目 注意:由于 Facebook 制定的新政策,IFTTT 最近停止了他们的 FB Messenger 服务。因此,该项目已不再可行。 如果您是初学者,可以学习相关主题: Arduino - 无线网络 Arduino - 门传感器。 Arduino - IFTTT 演示
-
2020 年你需要成功的 10 项核心机器人技能
是时候开始为未来学习了……未来就是现在!以下是您在 2020 年在机器人技术方面取得成功所需要的 10 项核心技能。 大约 4 年前——确切地说是 2016 年 1 月——世界经济论坛 (WEF) 发布了一份“到 2020 年你需要发展的 10 大技能”清单。它确定了一个人在第四次工业革命中茁壮成长所必需的核心技能。 那时候,2020 年还遥遥无期……但未来就是现在! WEF 列表包含多种技能,包括许多与业务中更人性化的方面相关的技能,例如情商、人员管理、领导力等。但是,还有 3 项技能与我们如何在业务中使用机器人非常相关,包含在下面的列表中。 对于很多人来说,机器人技术还是很新鲜的
-
我需要多大的液压缸?
液压缸有各种形状和尺寸,很难确定哪一种适合您的需要。在本文中,我们将向您介绍市场上可用的不同类型的液压缸,并说明如何为您的项目选择最合适的液压缸。 什么是液压缸? 液压缸是一种使用加压流体移动物体的机器。气缸充满油和气,加压流体用于为活塞或马达提供动力。圆柱体的大小影响移动物体所需的力。 当您寻找液压缸时,您需要考虑您将使用它做什么以及物体的大小。物体的大小将决定您需要的液压缸的大小。例如,如果您使用液压缸移动大块木头,则需要比移动小块木头更大的液压缸。 购买液压缸时要考虑的另一件事是它需要多少 PSI(磅/平方英寸)。 PSI 较高的液压缸可以比 PSI 较小的液压缸推动力更大,但这样
-
什么是辅助继电器?
辅助继电器是辅助另一个继电器或设备执行动作的继电器。它在其操作电路打开或关闭时执行此操作。这些继电器用于几乎所有电子设备中,以帮助它们正常工作。从本质上讲,它就像对继电器执行的操作一样简单,导致电路打开 - 完成 - 或关闭,并且不允许电力通过它。 当家里的灯打开时,可以看到辅助继电器的一个示例。辅助继电器是墙上的开关。一旦通过翻转开关打开继电器打开继电器,就会发送一个信号告诉灯打开。当继电器闭合,或者灯开关反方向转动时,会发出单独的信号来切断灯的电源。 这种继电器的另一个例子是电视电源按钮。当观众按下电源按钮打开电视时,他正在打开继电器。然后将信号发送到主电源以打开电视。当他再次按下电