Ori*_*gin 0 nhibernate fluent-nhibernate
如果我想从类的属性创建DTO,所有这些都被映射,我可以不编写常规SQL语句吗?
我已经看过很多关于制作DTO课程以及使用它的文档,但关于它是如何创建的并不多.我见过与Transformer一起使用的SQL查询,但这需要使用魔术字符串.
编辑:
感谢您的评论.我知道有多种方法可以检索DTO,但我一直无法找到不使用SQL/HQL的方法示例.是否有某个地方的参考,或者这是NHibernate稀疏记录的区域之一?
从您最新的评论中可以看出使用QueryOver和投影DTO的一些示例Linq
使用QueryOver: -
var schoolList = Session.QueryOver<lmschool>()
.SelectList(i => i
.Select(p => p.Name).WithAlias(() => dto.Name)
.Select(p => p.Lat).WithAlias(() => dto.Lat)
.Select(p => p.Lng).WithAlias(() => dto.Lng)
)
.Where(w => w.Lat != null && w.Lng != null)
.TransformUsing(Transformers.AliasToBean<MarkerDto>())
.List<MarkerDto>();
Run Code Online (Sandbox Code Playgroud)
使用NH Linq提供商: -
var schoolList = (from school in Session.Query<lmschool>()
.Where(w => w.Lat != null && w.Lng != null)
select new LmSchoolMarkerDto {
Name = school.Name,
Lat = school.Lat,
Lng = school.Lng,
}).ToList();
Run Code Online (Sandbox Code Playgroud)
来自我的博客. 如果您需要查看如何使用多个联接,请参阅此博客文章.
还有很多SO帖子可以帮到你,看看这个搜索.
| 归档时间: |
|
| 查看次数: |
897 次 |
| 最近记录: |