Anduin Xue
Anduin Xue

Anduin's Tech Blog

Performance


Build a common cache service for your C# app.

该代码展示了如何为缓存功能编写单元测试,涵盖了基本缓存、带条件的缓存、空值处理、缓存清除以及选择器的应用。每个测试方法使用不同的数据点和场景来验证缓存的行为,包括首次加载时的慢响应时间、命中缓存后的快响应时间,以及对特定条件和边缘情况(如空值)的正确处理。这些测试确保了缓存机制在各种情况下都能正常工作,并覆盖了常见的缓存应用场景。--DeepSeek

ASP.NET Core C# .NET Core Performance Caching .NET Cache MemoryCache

Tips to get better performance for Entity Framework Core

根据上述内容,以下是针对如何优化Entity Framework Core查询性能的一些建议: 1. **使用AsNoTracking禁用跟踪**:当不需要更新或保存更改时,添加AsNoTracking可以提高查询性能。 2. **避免使用Include函数**:尽量不要使用Include来加载关联表,而是通过Select投影只获取所需的数据。这样可以减少SQL复杂性并提升性能。 3. **使用FirstOrDefaultAsync替代SingleOrDefaultAsync**:对于已知唯一的结果(如主键查找),使用FirstOrDefaultAsync比SingleOrDefaultAsync更高效,因为它避免了多余的TOP 2查询。 4. **防止客户端评估**:尽量让EF Core在服务器端执行计算。如果遇到无法翻译为SQL的操作,提前在代码中计算好条件值,再进行查询以避免客户端评估带来的性能损失。 5. **选择投影(Select)而非Include**:通过使用Select来定义所需的字段和关联数据,可以更高效地获取数据,同时避免不必要的表连接操作。 这些优化技巧可以帮助提升EF Core查询的效率和整体应用性能。--DeepSeek

Entity Framework SQL Performance Database Entity Framework Core Query Optimization

  • 1