Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Sử dụng hàm Chuyển đổi sql tích hợp trong tiêu chí nhibernate

Nếu bạn có thể chấp nhận CAST thay vì CONVERT (Và tôi gần như chắc chắn rằng bạn có thể làm được) , thì có một giải pháp đơn giản hơn.

Thay vì gọi "SQL Server liên quan" , hãy gọi hàm trừu tượng, sẽ hoạt động trên hầu hết các Máy chủ DB (dựa trên các pha loãng NHibernate được hỗ trợ)

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

Vì vậy, Restriction được sử dụng trong WHERE mệnh đề có thể trông như thế này:

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

Và kết quả được tạo bởi NHibernate, sử dụng phương ngữ SQL Server sẽ là:

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. Cách tạo dữ liệu ngẫu nhiên trong máy chủ SQL

  2. Sự kiện chờ SQL Server -3

  3. Thực thi một tập lệnh SQL lớn (với các lệnh GO)

  4. Nếu khóa ngoại không tồn tại thì thêm ràng buộc khóa ngoại (Hoặc bỏ ràng buộc khóa ngoại nếu tồn tại) mà không sử dụng Tên?

  5. Thay đổi các loại cột trong một bảng lớn