0

皆さんこんにちは!

私はNHibernateを勉強していて、いくつかの変更を加えることにしました。その中で、いくつかのフィールドが不要であることに気付きました。だから私は疑問を持ちます:私はリストを持っています。各学習クラス内でそれを Class_List と呼びましょう。各クラスに N 人の学生を持つことができます。List Class_List 内には、クラスの名前と同じくらい単純な他のプロパティもあります。データベースに何人の学生がいるかを保存する必要はないと思います.1回のクエリで、私が持っているレコードの数を保存します. これは、NHibernate を使用しています。

これは可能ですか?どのように?

よろしくお願いします、

グスタボ。

編集: 1 つ言うのを忘れていました... このレコード数を列として返したいと思います。しかし、この列は私の .hbm.xml ファイルにマップされていません。

4

1 に答える 1

1

生徒が Class のコレクションとしてマップされている場合は、次のようなものを試すことができます。

var numberOfStudents = session.CreateCriteria<Class>()
    .Add(Restrictions.IdEq(1))
        .CreateCriteria("_students", "students")
        .SetProjection(Projections.RowCount())
        .UniqueResult<Int32>();

「1」はクラスの ID (他のプロパティを使用できます)、「_students」は学生コレクションの名前です。

于 2012-08-20T21:59:46.713 に答える