簡體   English   中英

從Function中獲取NHibernate QueryOver .SelectList(x)

[英]Get NHibernate QueryOver .SelectList(x) from Function

有沒有辦法從函數中獲取成員列表,可以傳遞給SelectList()?

所以不要這樣做

var dtos = repository.QueryOver<MicrofilmExportProcessed>()
                    .SelectList(list => list
                        .Select(x => x.Member1).WithAlias(() => dto.Member1)
                        .Select(x => x.Member2).WithAlias(() => dto.Member2)
                        .Select(x => x.Member3).WithAlias(() => dto.Member3))
                    .List<MicrofilmExportProcessed>();

做這樣的事情:

var dtos = repository.QueryOver<MicrofilmExportProcessed>()
                    .SelectList(getMembersFromFunc())
                    .List<MicrofilmExportProcessed>();

我嘗試創建方法,返回與SelectList的輸入參數相同的類型,但它仍然告訴我輸入類型無效。 不知道我錯過了什么。

就像是

Func<QueryOverProjectionBuilder<InvoiceDto>, QueryOverProjectionBuilder<InvoiceDto>> GetList()
{
    InvoiceDto dto = null;
    return list => list.Select(w => w.Client).WithAlias(() => dto.Client);
}

並稱之為

return Session.QueryOver<InvoiceDto>()
    .SelectList(GetList())
    .TransformUsing(Transformers.AliasToBean<InvoiceDto>())
    .List<InvoiceDto>();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM