mmm..... I think you are forgetting something... no?for example... what
about the FullName of the class ?
where is the name space ?

2009/6/15 Chris Nicola <[email protected]>

> Ok I am trying this out but with little success.  I have a class defined as
> follows:
>
>     public class AccountSummary
>     {
>         public AccountSummary()
>         {}
>
>         public AccountSummary(string accountnumber, string accountname,
> decimal creditamount, decimal debitamount, DateTime dateposted)
>         {
>             AccountNumber = accountnumber;
>             AccountName = accountname;
>             CreditAmount = creditamount;
>             DebitAmount = debitamount;
>             DatePosted = dateposted;
>         }
>
>         public virtual Account Account { get; set; }
>         public virtual string AccountNumber
>         { get; set; }
>
>         public virtual string AccountName
>         {
>             get; set;
>         }
>         public virtual Decimal CreditAmount { get; set; }
>         public virtual Decimal DebitAmount { get; set; }
>         public virtual DateTime DatePosted { get; set; }
>     }
>
> Then I have an import map for it:
>
> <import class="AccountSummary, AccountingManager.Model"/>
>
> Finally I have an HQL query like this:
>
> var query = "select new AccountSummary(a.Number, a.Name , sum(e.Amount * (1
> - e.IsDebit)), sum(e.Amount * e.IsDebit) ,  e.DatePosted) " +
>                         "from Entry as e " +
>                         "join e.Account as a " +
>                         Where +
>                         "group by a.Number, a.Name, e.IsDebit,
> e.DatePosted";
>             var hql = session.CreateQuery(query);
>             return hql.Future<AccountSummary>();
>
> Just to explain what I am doing (which could be my problem) I am
> multiplying Amount by IsDebit which is a boolean to get two sums one for
> debits and one for credits.
>
> I get this error:
>
>
> System.TypeLoadException: Could not load type 'AccountSummary' from assembly 
> 'AccountingManager.Model, Version=1.0.0.0, Culture=neutral, 
> PublicKeyToken=null'.
> at System.Reflection.Assembly._GetType(String name, Boolean throwOnError,
> Boolean ignoreCase)
> at System.Reflection.Assembly.GetType(String name, Boolean throwOnError)
> at NHibernate.Util.ReflectHelper.TypeFromAssembly(
> AssemblyQualifiedTypeName name, Boolean throwOnError)
> at NHibernate.Util.ReflectHelper.ClassForName(String name)
> at NHibernate.Hql.Ast.ANTLR.Tree.ConstructorNode.ResolveConstructor(String
>  path)
>
> I understand this type of error can occur when the constructor types don't
> match the query output.  Do I need to cast the query output somehow or did I
> do something completely wrong?
>
> Thanks for your help,
> Chris
>
>
>
>
> On Tue, Jun 9, 2009 at 11:12 AM, Fabio Maulo <[email protected]> wrote:
>
>> probably is not support by actual implementation of Linq2NH.btw using
>> <import> you can "map" you DTO (AccountTake).
>>
>> 2009/6/9 Chris Nicola <[email protected]>
>>
>> I am trying this as a Linq query:
>>>
>>>             var query = from entry in entryquery
>>>                         group entry by entry.Account into list
>>>                         select new AccountTake
>>>                         {
>>>                             Account = list.Key,
>>>                             CreditAmount = list.Sum(p => p.Amount),
>>>                             DebitAmount = list.Sum(p => p.Amount)
>>>                         };
>>>
>>> And this is the resulting SQL
>>>
>>> SELECT sum(this_.Amount) as y0_,
>>>        sum(this_.Amount) as y1_
>>> FROM   Entries this_
>>>
>>> Seems to be ignoring group by.  Obviously this returns an exception as it
>>> can't map that to AccountTake.
>>>
>>> Chris
>>>
>>> On Wed, Jun 3, 2009 at 3:53 PM, Fabio Maulo <[email protected]>wrote:
>>>
>>>> Not with anonymous type but with a real Type or a IList<object[]>
>>>>
>>>> 1)select e.Key, sum(e.Amount) from Entry e group by e.Key
>>>> 2)select new YourStatisticEntry(e.Key, sum(e.Amount)) from Entry e group
>>>> by e.Key
>>>> 3) using 1 with a results trasformer to transform each result or the
>>>> entirely IList.
>>>>
>>>> 2009/5/28 Chris Nicola <[email protected]>
>>>>
>>>> I was wondering if it is possible to do simple sums and groupings with
>>>>> Linq2Nhibernate without returning the entire result set first using
>>>>> .ToList();
>>>>>
>>>>> My scenario:
>>>>>
>>>>> I have a table of accounts, and for each and every account I would like
>>>>> to get a sum of transactions from three different tables.  In SQL I would 
>>>>> do
>>>>> something like
>>>>>
>>>>> SELECT SUM(Amount), Account.id
>>>>> FROM Entries
>>>>> Group By Account.id
>>>>>
>>>>> In a Linq query I might try to return something like:
>>>>>
>>>>> from entry in session.Linq<Entry>()
>>>>> group entry by entry.Account into list
>>>>> select new
>>>>> {
>>>>>   Account = list.Key,
>>>>>   Total = list.Sum(e => e.Amount)
>>>>> };
>>>>>
>>>>> However that returns an error because nHibernate is expecting to return
>>>>> entities of type <Entry> and not the anonymous type I just defined.
>>>>>
>>>>> Is there any way to get results like this?
>>>>>
>>>>> Thanks,
>>>>> Chris
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Fabio Maulo
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>> --
>> Fabio Maulo
>>
>>
>>
>
> >
>


-- 
Fabio Maulo

--~--~---------~--~----~------------~-------~--~----~
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