1

タグクラウドアーキテクチャをNHibernateで機能させようとしています。

public class Tag : Entity
{
    public virtual int Id { get; set; }
    public virtual string Text { get; set; }
}

このテーブルはスキーマ内のいくつかのエンティティにマップされるため、各関連付けのTagクラスにコレクションを追加したくありません。

ただし、タグエンティティをクエリして、結合されたすべてのテーブルにわたってcount(*)を返したいと思います。SQLでこれを簡単に行うことができましたが、NHではまだ光が見えていません。

いくつかのHQLを書き始めました。

select t.Text, count(t.Id) 
from Tag t join ????
where t.Id= :tagid 
   group by t.Text

何に参加しますか?オブジェクトモデルでは、多対多のブリッジテーブルにはクラスもプロパティもないので、これは機能しないことを意味しますか?

あなたは何を提案しますか?これがCriteriaで実行できるかどうかを確認することに興味があります。

どうもありがとう、

イアン

4

1 に答える 1

1

Criteriaを使用することから始めて、これはどうですか、私はそれを実行しておらず、参加の方法がわかりません...

 IList multiResults = s.CreateMultiCriteria()
     .Add(s.CreateCriteria(typeof(Tag)).SetProjection(Projections.RowCount()))
     .List();
于 2009-06-07T00:17:52.083 に答える