我一直在学习如何使用nHibernate与Vb.net使用在线(使用C#)的所有示例进行学习。这对于基础知识来说已经很好了,但是现在我正试图学习如何使用QueryOver的JoinAlias,并且从C#转到VB.net是很困难的。我一直在使用this page's answer作为参考,但我仍然无法将这样的示例转换为Vb.net。有人能帮助我吗?如何在VB.NET中使用QueryOver与nHibernate
回答
更新时间:
简单的方法是引入TableResultDetailsClass的TableResultClass收集和使用。
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()
原文:
所有你需要的是仿制药和lambda表达式在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个不同的表格。 – 2012-02-07 16:10:16
抱歉是一个快速拍摄。也许最好是显示一个查询,然后转换或描述你想要从一个已定义的模式返回的内容 – Firo 2012-02-07 16:13:48
好的。在这种情况下,我有Table和DetailsTable类。该表有一个DID,但DetailsTable有一个是Parent的列,所以Table。所以我试图在DetailsTable = Table时加入。我会怎么做?我希望这有助于澄清我的问题。 – 2012-02-07 16:20:06
- 1. 如何使用NHibernate QueryOver
- 2. 在NHibernate QueryOver中使用IsLike
- 3. 如何使用“不在”做NHibernate QueryOver?
- 4. 过滤与NHibernate QueryOver
- 5. NHibernate的QueryOver与ManytoMany
- 6. NHibernate不存在与QueryOver
- 7. 如何使用NHibernate QueryOver加入
- 8. 在NHibernate QueryOver语法中使用current_timestamp
- 9. 实施“其中不存在”与NHibernate QueryOver
- 10. nHibernate 3 QueryOver与条款
- 11. NHibernate的QueryOver与子查询
- 12. NHibernate与多对多的QueryOver
- 13. Nhibernate 3.2查询与QueryOver
- 14. NHibernate QueryOver与HQL等价吗?
- 15. 如何在NHibernate中使用QUeryOver投影列表
- 16. NHibernate的QueryOver用在有或
- 17. SQL到NHibernate QueryOver
- 18. NHibernate的QUERYOVER
- 19. 限制在收集与脱节使用NHibernate QueryOver
- 20. 通过QueryOver在NHibernate的
- 21. NHibernate的可重复使用的QueryOver
- 22. NHibernate QueryOver可以使用MultiQuery吗?
- 23. 过滤和突出使用NHibernate QueryOver
- 24. NHibernate QueryOver“select where true”
- 25. NHibernate的QueryOver不同
- 26. NHibernate QueryOver,JoinAlias问题
- 27. NHibernate的QueryOver继承
- 28. NHibernate QueryOver值集合
- 29. NHibernate的QueryOver左外与条件
- 30. CreateSQLQuery的作品,但QueryOver不与NHibernate
您正在使用哪个版本的VB.NET?在.NET 4之前,VB没有像C#那样的lambda支持。如果您使用的是旧版本,那可能会解释您的一些问题。 – 2012-02-07 16:12:00
我现在正在使用.NET 3.5。 – 2012-02-08 13:13:46