Hi
I have this situation:

public class Locale: Entity
{
    public string Title{get;set;}
    public IList<LocaleResource> LocaleResources {get;set;}
    ...
}

public class LocaleResource: Entity
{
    public Locale Locale {get;set;}
    public Resource Resource {get;set;}
    public string ResourceTitle {get;set;}
    public string ResourceTooltip {get;set;}
    ...
}

public class Resource: Entity
{
    public string Alias {get;set}
    public IList<LocaleResource> LocaleResources {get;set;}
    ...
}

and a DTO object
public class ResourcesDTO
{
    public ResourcesDTO()
    {
        SubResources = new List<SubResourceDTO>();
    }

    public class SubResourceDTO
    {
        public string Alias {get;set}
        public string Title {get;set}
        public string Tooltip {get;set}
    }

    public Guid LocaleID {get;set;}
    public IList<SubResourceDTO> SubResources {get;set}
}

My query is:
            LocaleResource lrAlias = null;
            Locale localeAlias = null;
            Resource resourceAlias = null;
            var query = QueryOver.Of(()=>lrAlias)
                .JoinQueryOver(() => lrAlias.Resource, () =>
resourceAlias)
                .JoinQueryOver(() => lrAlias.Locale, () =>
localeAlias)
                .Where(() => localeAlias.Id == parameters.LocaleId));

Now, my question is how to project result from query to this
ResourcesDTO?
I need this:
ResourceDTO.LocaleID  = localeAlias.ID
ResourceDTO.SubResources = new List<SubResourceDTO>() { Alias =
resourceAlias.Alias, Title = lrAlias.ResourceTitle , Tooltip =
lrAlias.resourceTooltip }

Now I am doing it manually, but is there a way of populating this DTO
from query using Projections?

thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to