Mysql
 sql >> база данни >  >> RDS >> Mysql

NHibernate QueryOver и MYSQL

Очаквам, че това е еднопосочно обвързване (само за четене). В този сценарий бихте могли да спечелите от прогнозите. вижте повече тук 16.6. Прогнози

Можете да създадете някакъв DTO обект за вашата мрежа и подобно на документацията:

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>();

Трябва да можете да го направите по този начин (не мога да го проверя в момента, но трябва да е ясно)

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>();

Така че в този случай ще принудите NHibernate да създаде Projection (само 1 клауза SELECT) и да върне всички необходими данни наведнъж




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка в заявката на модела на Laravel:Illuminate\Database\QueryException:SQLSTATE[23000]:Нарушение на ограничението за целостта

  2. Как мога да извлека двоични данни с помощта на Mysql Python конектор?

  3. Обектът от клас База данни не може да бъде преобразуван в низ

  4. MySQL - Как да получите резултати от търсенето с точна релевантност

  5. Mysql връща повече от един ред