oops, session.Query<EstimationItem>()
On Thursday, November 8, 2012 8:53:18 PM UTC-7, Darren Kopp wrote:
>
> Just use the linq provider and it's the exact same.
>
> add using NHibernate.Linq and change context.EstimationItem to session.
> EstimationItem
>
> On Thursday, November 8, 2012 4:31:40 AM UTC-7, Christian I. wrote:
>>
>> I have 2 tables, I'd like place some fields in a result class, but I'm
>> stuck. The code I want look like this with Entity Framework :
>>
>> var res =
>> (from p in context.EstimationItem
>> join q in ...
>> select new EstimationWithDetail
>> {
>> Estimation = q.Estimation,
>> Id = q.Id,
>> FullName = q.Customer.FirstName + q.Customer.LastName
>>
>> }).ToList();
>>
>> In Nibernate, at this time, I have this, but I'm stuck ...
>>
>> var res =
>> Session.QueryOver<EstimationItem>()
>> .JoinQueryOver(x => x.Estimation)
>> .Select(
>> x => x.Estimation.Reference,
>> x => x.Estimation.CreationDate,
>> x => x.Price,
>> x => x.Estimation.Customer.FirstName,
>> x => x.Estimation.Customer.LastName
>> )
>> .List();
>>
>> public class Estimation
>> {
>> public virtual string Reference { get; set; }
>> public virtual Customer Customer { get; set; }
>> public virtual DateTime CreationDate { get; set; }
>> public virtual decimal Total { get; set; }
>> public virtual IList<EstimationItem> EstimationItems { get; set; }
>> }
>>
>> public class EstimationItem
>> {
>> public virtual decimal Price { get; set; }
>> public virtual int Quantity { get; set; }
>> public virtual Estimation Estimation { get; set; }
>> public virtual Product Product { get; set; }
>> }
>>
>> public class EstimationWithDetail
>> {
>> public string Reference { get; set; } //Estimation.Reference
>> public string FullName { get; set; } //concat FirstName and
>> LastName from Customer
>> public decimal Price { get; set; } //Estimation.Total
>> public int Id { get; set; } //Estimation.Id
>> public DateTime CreationDate { get; set; } //Estimation.CreationDate
>> }
>>
>> *
>> *
>>
>> *I thirs this too :*
>>
>> I tried the code but I get this error : *InvalidOperarionException,
>> variable 'x' of type 'EstimationItem' referenced from scope '', but it is
>> not defined*
>>
>> var res =
>> Session.QueryOver<EstimationItem>()
>> .JoinQueryOver(x => x.Estimation)
>> .Select(x => new EstimationWithDetail
>> {
>> Code = x.Estimation.Reference,
>> CreationDate = x.Estimation.CreationDate,
>> Price = x.Estimation.Total,
>> FullName = x.Estimation.Customer.FirstName +
>> x.Estimation.Customer.LastName
>> })
>> .List<EstimationWithDetail>();
>>
>> *
>> *
>>
>> *And thid*
>>
>> Estimation a = null;
>> Customer b = null;
>> var res = Session.QueryOver<EstimationItem>()
>> .JoinAlias(c => c.Estimation, () => a)
>> .JoinAlias(c => c.Estimation.Customer, () => b)
>> .Select(x => new EstimationWithDetail
>> {
>> Code = a.Reference,
>> Id = a.Id,
>> FullName = b.LastName
>> })
>> .List<EstimationWithDetail>();
>>
>>
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/nhusers/-/lcMeiYls_bgJ.
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.