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

NHibernate QueryOver và MYSQL

Tôi mong đợi, rằng đây là một cách ràng buộc (chỉ để đọc). Trong trường hợp này, bạn có thể kiếm được lợi nhuận từ Dự báo. xem thêm tại đây 16.6. Các phép chiếu

Bạn có thể tạo một số Đối tượng DTO cho lưới của mình và tương tự như tài liệu hướng dẫn:

CatSummary summaryDto = null;
IList<CatSummary> catReport =
    session.QueryOver<Cat>()
        .SelectList(list => list
            .SelectGroup(c => c.Name).WithAlias(() => summaryDto.Name)
            .SelectAvg(c => c.Age).WithAlias(() => summaryDto.AverageAge))
        .TransformUsing(Transformers.AliasToBean<CatSummary>())
        .List<CatSummary>();

Bạn sẽ có thể làm điều đó như thế này (Tôi không thể kiểm tra nó ngay bây giờ, nhưng nó sẽ rõ ràng)

LietadloDTO lietadloDTO = null;
dgv.DataSource = session
  .QueryOver<Lietadlo>(() => f)
  .JoinAlias(() => f.Spolocnostt_Id,() => t)
  .JoinAlias(() => f.Typp_Id, ()=> r)
  .Where(() => t.Pocetlietadiel > 2)
  .And(() => r.Name == "Boeing-747")
  .SelectList(list => list
    .Select(f => f.Id).WithAlias(() => lietadloDTO.Id)
    .Select(t => t.Name).WithAlias(() => lietadloDTO.Name)
    ...
    )
  .TransformUsing(Transformers.AliasToBean<LietadloDTO>())
  .List<LietadloDTO>()
  .ToList<LietadloDTO>();

Vì vậy, trong trường hợp này, bạn sẽ buộc NHibernate tạo Projection (chỉ 1 mệnh đề SELECT) và trả về tất cả dữ liệu cần thiết cùng một lúc




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. So sánh giá trị ngày của CURDATE () với trường dấu thời gian đầy đủ

  2. Cách thiết kế cơ sở dữ liệu mysql nhiều người thuê

  3. Cách chuyển đổi ngày tháng trong tệp .csv sang định dạng SQL trước khi chèn hàng loạt

  4. MySQL:Chèn datetime vào trường datetime khác

  5. Python MySQLdb lỗi - nguyên nhân gây ra điều này là gì