PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Query PostgreSQL dengan Npgsql dan Entity Framework menggunakan unaccent

Jika Anda menggunakan Codefirst pendekatan, Anda harus mencoba menggunakan EntityFramework.CodeFirstStoreFunctions .

  1. Pertama tambahkan EntityFramework.CodeFirstStoreFunctions ke proyek Anda
  2. Tambahkan konvensi khusus dengan tanpa aksen ke DbModelBuilder
  3. Gunakan dalam kueri.

Contoh konteks basis data:

public class DatabaseContext : DbContext
{
    public DatabaseContext () : base("Context")
    {
        Database.SetInitializer<DatabaseContext>(null);
    }

    public DbSet<User> Users { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.HasDefaultSchema("public");
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

        /** Adding unaccent **/           
        modelBuilder.Conventions.Add(new CodeFirstStoreFunctions.FunctionsConvention<DatabaseContext>("public"));
    }

    [DbFunction("CodeFirstDatabaseSchema", "unaccent")]
    public string Unaccent(string value)
    {
        // no need to provide an implementation
        throw new NotSupportedException();
    }
}

Contoh penggunaan:

var users = ctx.Users
               .Where(elem => ctx.Unaccent(elem.FirstName) == ctx.Unaccent("João"))
               .ToList();

Pemberitahuan penting:
Solusi ini bekerja dengan EntityFramework6.Npgsql (yang menggunakan Npgsql 3.*).
Tidak bekerja dengan Npgsql.EntityFramework (yang menggunakan Npgsql 2.*)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat profil Database PostgreSQL?

  2. Apakah ada PostgreSQL yang setara dengan profiler SQL Server?

  3. Spring Batch - Tidak dapat membuat tabel metadata di Postgres dan memuat data aktual ke mysql

  4. Bagaimana cara memasukkan catatan yang dapat diperbarui dengan kolom JSON di PostgreSQL menggunakan JOOQ?

  5. PostgreSQL, kueri kompleks untuk menghitung bahan berdasarkan resep