私はオンラインで(C#にある)すべての例を使ってVb.netでnHibernateを使用する方法を学びました。これは基本的にうまくいきましたが、今はQueryOverのJoinAliasの使い方を学び、C#からVB.netへの移行は難しいです。私は参考としてthis page's answerを使用してきましたが、私はまだVb.netにそのような例を変換するのに問題があります。誰か助けてくれますか?VB.NETでnHibernateでQueryOverを使用する方法
答えて
更新日:
簡単な方法はTableResultClassにTableResultDetailsClassのコレクションを紹介し、それを使用することです。
results = session.QueryOver(Of TableResultClass)() _
.Where(Function(tr) tr.Id = wantedId) _
.Select(Function(tr) New With { tr.Id, tr.Details.Sum(Function(trd) trd.Property) }) _
.List()
そうでない場合は、オブジェクト[]バック
results = session.QueryOver(Of TableResultDetailsClass)() _
.Where(Function(td) tD.Parent.Id = wantedId) _
.Select(Projections.Property(Function(td) tD.Parent.Id), Projections.Sum(Function(td) tD.Prpoerty)) _
.List()
オリジナル得る:それはあなたのようだ:
をあなたが必要とするすべてはvb.netでのジェネリック医薬品とラムダ
Dim child as Child
results = session.QueryOver(Of User)()
.Where(Function(u) u.Name = "blub")
.JoinAlias(Function(u) u.Childs, Function child)
.List()
更新ですマッピングを探しています。 FluentNHibernateでそれはのようになります
Public Class TableEntityMap Inherits ClassMap(Of TableEntity)
Sub New()
Id(Function(x) x.Id, "DID")
HasMany(Of TableEntity)(Function(x) x.Details).Inverse()
End Sub
End Class
Public Class TableEntityMap Inherits ClassMap(Of TableEntity)
Sub New()
Id(Function(x) x.Id)
References(Of DetailsTableEntity)(Function(x) x.Parent, "Parent")
End Sub
End Class
Dim entity as TableEntity = sess.Get(Of TableEntity)(someid)
'' get all details of this entity
Dim details = entity.Details
それはあなたがそこに持っているかなり一般的な、あいまいな答えです...多分私は十分に指定していませんでしたか? 私は2つのテーブルを集約しようとしています。 –
申し訳ありませんがファーストショットでした。おそらく、変換したいクエリーオーバーを表示したり、定義済みのスキーマから戻したいものを記述することが最善です – Firo
大丈夫です。この場合、私はTableクラスとDetailsTableクラスを持っています。表にはDIDがありますが、DetailsTableにはParentという列があります。ですから、DetailsTable = Tableのときに参加しようとしています。どうすればいい?私の質問を明確にするのに役立つことを願っています。 –
- 1. Nhibernate 3.2 QueryOverとQueryOver
- 2. NHibernate QueryOverでSQL関数を使用できますか?
- 3. nHibernate Queryoverを使用してx個のランダムレコードを取得する方法
- 4. nhibernate queryoverエイリアス列の選択方法は?
- 5. NHibernateのQueryOver
- 6. nHibernate DynamicOn with QueryOver
- 7. IUserTypeのNHibernate QueryOver
- 8. QueryOverジェネレータNhibernate
- 9. NHibernateのQueryOverは
- 10. QueryOverでSQL Count()を使用する方法
- 11. nHibernateの動的QueryOver
- 12. NHibernate - 動的QueryOverパラメータ
- 13. NHibernate QueryOverフィルターbyコレクション
- 14. NHibernate QueryOverエイリアスとして使用できるものは何ですか?
- 15. NHibernate QueryOverクエリでバリューオブジェクトのコレクションを選択して消費する方法
- 16. NHibernate QueryOverを使用した分離によるコレクションの制限
- 17. nHibernateを使用した子コレクションによるQueryOverの制限
- 18. NHibernateは再利用可能なQueryOver
- 19. NHibernate QueryOverでMaxResult、Group By、Order By
- 20. NHibernate QueryOverにプロパティ値の変換を組み込む方法.SelectList?
- 21. NHibernateのをqueryoverは、私はこのようなNHibernateはqueryoverを持って
- 22. Nhibernate QueryOver。文字列プロパティ名を使用したOrderBy。
- 23. nHibernate APIとQueryOver APIを使用して異なる結果を得る方法はありますか?
- 24. NHibernateのQueryOverは二回
- 25. NHibernate QueryOverキャッシングの問題
- 26. NHibernateはQueryOver協会は、アイテム
- 27. NHibernate 3.1.0.4000 QueryOver SQL最適化
- 28. Select N + 1のNHibernate QueryOverソリューション
- 29. NHibernate QueryOver Where Ex存在
- 30. NHibernate QueryOverエイリアスの問題
使用しているVB.NETのバージョンは? .NET 4以前では、VBはC#と同じラムダサポートを持っていませんでした。古いバージョンを使用している場合は、いくつかの問題が説明されている可能性があります。 –
私は現在.NET 3.5を使用しています。 –