# Pomelo.EntityFrameworkCore.Extensions.ToSql **Repository Path**: mirrors_PomeloFoundation/Pomelo.EntityFrameworkCore.Extensions.ToSql ## Basic Information - **Project Name**: Pomelo.EntityFrameworkCore.Extensions.ToSql - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-19 - **Last Updated**: 2026-05-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Pomelo.EntityFrameworkCore.Extensions.ToSql ## Sample ![image](https://user-images.githubusercontent.com/2216750/28835653-b634895e-7718-11e7-89de-6b6a32c4fb04.png) ```c# using System; using System.Linq; using Microsoft.EntityFrameworkCore; namespace Sample { enum Sex { Male, Female } class TestModel { public Guid Id { get; set; } public string Title { get; set; } public int Count { get; set; } public Sex Sex { get; set; } public DateTime Time { get; set; } } class SqlServerContext : DbContext { public DbSet Models { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); optionsBuilder.UseSqlServer("Server=localhost;uid=sa;pwd=123456;database=tosqltest"); } } class MySqlContext : DbContext { public DbSet Models { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); optionsBuilder.UseMySql("Server=localhost;uid=root;pwd=123456;database=tosqltest"); } } class PostgreSQLContext : DbContext { public DbSet Models { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); optionsBuilder.UseNpgsql("Server=localhost;uid=postgres;pwd=123456;database=tosqltest"); } } class GroupType { public Sex Key { get; set; } public int Count { get; set; } } class Program { static void Main(string[] args) { var SqlServerContext = new SqlServerContext(); var SqlServerQuery = SqlServerContext.Models .Where(x => x.Title.Contains("Pomelo")) .Where(x => new[] { 2, 3, 5, 7, 11 }.Contains(x.Count)) .Where(x => x.Title.Skip(3).Take(4).ToString() == "Hello"); Console.WriteLine("SQL Server Generated:"); Console.WriteLine(SqlServerQuery.ToSql()); Console.WriteLine("Unevaluated:"); Console.WriteLine(string.Join( Environment.NewLine, SqlServerQuery .ToUnevaluated())); Console.WriteLine(); var MySqlContext = new MySqlContext(); var MySqlQuery = MySqlContext.Models .Where(x => x.Title.Contains("Pomelo")) .Where(x => new[] { 2, 3, 5, 7, 11 }.Contains(x.Count)); Console.WriteLine("MySQL Generated:"); Console.WriteLine(MySqlQuery.ToSql()); Console.WriteLine("Unevaluated:"); Console.WriteLine(string.Join( Environment.NewLine, MySqlQuery .ToUnevaluated())); Console.WriteLine(); var PostgreSQLContext = new PostgreSQLContext(); var PostgreSQLQuery = PostgreSQLContext.Models .Where(x => x.Title.Contains("Pomelo")) .Where(x => new[] { 2, 3, 5, 7, 11 }.Contains(x.Count)) .GroupBy(x => x.Sex) .Select(x => new GroupType { Key = x.Key, Count = Math.Abs(x.Count()) }); Console.WriteLine("PostgreSQL Generated:"); Console.WriteLine(PostgreSQLQuery.ToSql()); Console.WriteLine("Unevaluated:"); Console.WriteLine(string.Join( Environment.NewLine, PostgreSQLQuery .ToUnevaluated())); Console.WriteLine(); Console.Read(); } } } ```