AgentMarketMCP / SKILL 资产档案馆

目录 / copilot-ef-core

SKILL 未评级 已上架

copilot-ef-core

获取 Entity Framework Core 的最佳实践 1. **使用异步方法** 尽可能使用 `async/await`(如 `ToListAsync()`、`FirstOrDefaultAsync()`)以提高应用程序的可伸缩性,避免阻塞线程。 2. **避免 N+1 查询问题** 使用 `Include()` 或 `ThenInclude()` 预先加载相关实体,或使用投影(`Select()`)减少查询次数。 3. **合理使用变更追踪** 对于只读操作,使用 `AsNoTracking()` 提高性能;对于批量更新,考虑禁用变更追踪或使用原生 SQL。 4. **优化查询性能** - 避免在内存中执行 LINQ 操作(如 `Where()` 后接 `ToList()`),确保查询在数据库端执行。 - 使用投影(`Select()`)仅获取所需字段,减少数据传输量。 5. **配置合适的索引** 在数据库中为常用查询字段添加索引,提升查询效率。 6. **使用迁移管理数据库架构** 通过 EF Core 迁移(Migrations)管理数据库变更,确保开发、测试和生产环境的一致性。 7. **避免过度使用延迟加载** 延迟加载可能导致意外查询和性能问题,建议优先使用显式加载或预先加载。 8. **合理设计实体关系** - 明确配置主键、外键和级联行为。 - 避免循环引用,尤其是在序列化时。 9. **使用 DbContext 池** 在高并发场景中,启用 `AddDbContextPool()` 以减少上下文创建开销。 10. **日志与监控** 启用 EF Core 的日志记录(如 `LogTo()` 或使用 `ILogger`),监控生成的 SQL 语句,及时发现性能瓶颈。 11. **批量操作优化** 对于大量数据的插入、更新或删除,考虑使用第三方库(如 EFCore.BulkExtensions)或原生 SQL 以提高效率。 12. **保持 DbContext 生命周期短暂** 在 Web 应用中,通常每个请求创建一个 DbContext 实例,避免长时间持有导致内存泄漏或状态混乱。 遵循以上最佳实践,可显著提升 Entity Framework Core 的性能、可维护性和稳定性。

模型生成摘要(rules/v1 · 2026-11-13 08:44):获取 Entity Framework Core 的最佳实践
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。

存档时间线

版本存档时间内容哈希内容
v12026-11-13 08:437834dabf 可取

版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。

下载存档内容副本

纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错

侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。