sql >> データベース >  >> RDS >> Mysql

NHibernateQueryOverと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にプロジェクション(1つのSELECT句のみ)を作成させ、必要なすべてのデータを一度に返すようにします




    1. PHPスクリプトを使用してデータベースに画像をアップロードするにはどうすればよいですか?

    2. ターミナル経由でリモートmysqlに接続します

    3. SQL Server(T-SQL)でデータベースメールプロファイルを更新する

    4. Windows10にOracleSQLDeveloper 18.2をインストールするにはどうすればよいですか?