With NOLOCK & DateDIFF
Extensão para EntityFramework Core
Juntamente com a extensão do WithNoLock, também temos outras como a tradução do DATEDIFF para SQL Server.
Os bits estão disponíveis em:
Nuget: @Nuget-Ralms.EntityFrameworkCore.Extensions
Github: @Github-Ralms.EntityFrameworkCore.Extensions
Vejamos como habilitar & utilizar o WithNoLock:
public class SampleContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder
.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=SampleExtension;Integrated Security=True;")
.RalmsExtendFunctions();
}
protected override void OnModelCreating(ModelBuilder modelo)
{
modelo.EnableSqlServerDateDIFF();
}
}
Como Utilizar:
var query = _db
.Blogs
.WithNoLock() // Anotação do With (NoLock)
.ToList();
Output SQL:
SELECT [p].[Id], [p].[Date], [p].[Name]
FROM [Blogs] AS [p] WITH (NOLOCK)
Usando o DATEDIFF
var list = _db
.Blogs
.Where(p => EFCore.DateDiff(DatePart.day, DateTimeOffset.Now, p.Date) < 50)
.ToList();
Output SQL:
SELECT [p].[Id], [p].[Date], [p].[Name]
FROM [Blogs] AS [p]
WHERE DATEDIFF(day, GETDATE(), [p].[Date]) < 50
Pessoal, fico por aqui #efcore
Deixe um comentário