Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menggunakan fungsi Konversi sql bawaan dalam kriteria nhibernate

Jika Anda dapat menerima CAST alih-alih CONVERT (Dan saya hampir yakin Anda bisa) , maka ada solusi yang lebih mudah.

Alih-alih memanggil "Terkait SQL Server" fungsi, sebut saja abstraksi, yang seharusnya bekerja pada sebagian besar Server DB (berdasarkan dilak NHibernate yang didukung)

Projections.Cast(NHibernateUtil.String, Projections.Property(searchCol))

Jadi Restriction digunakan dalam WHERE klausa bisa terlihat seperti ini:

Restrictions
    .Like (
        Projections.Cast(NHibernateUtil.String, Projections.Property(searchCol))
        , "2009"
        , MatchMode.Anywhere
    )

Dan hasil yang dihasilkan oleh NHibernate, menggunakan dialek SQL Server adalah:

WHERE cast( this_.theColumn as NVARCHAR(255)) like @p1 ... @p1=N'%2009%'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah SQL Server Express LocalDB terhubung dari jarak jauh?

  2. Bagaimana cara menggunakan variabel untuk nama database di T-SQL?

  3. bagaimana saya bisa mendapatkan pecahan desimal di sql

  4. Grup tutup nomor

  5. Pembayaran versi SSIS