>I mean, i have a service, i request an object, i don't know why i'm asking
> for it?

Correct.


> In general for a really complex system I build a DTO to send to the 
> client,

Imagine the app manages the automatic payment of allowances on a period 
basis.  The client has just indicated that Employee#1 should have their 
allowances payed immediately, so the app layer would look something like 
this


public void PayImmediately(int employeeNumber)
{
    //Get employee
    Employee emp = EmployeeRepository.GetByEmployeeNumber(employeeNumber);

    //Make payments
    AllowanceService.PayAllowances(emp.CurrentAssignment);
}

Now this is all happening within a single ISession (I'm just not showing 
that part).  When the EmployeeRepository fetches the Employee it only 
fetches the Employee state, for the AllowanceService.PayAllowances to work 
it needs lots of information such as which allowances have been assigned to 
the employee, this is fine though because they are multi-associations and as 
such can easily be fetched on demand, but what about the single links?

For example, here I am asking for allowances from the employee's current 
assignment.  The current assignment is a single-link, but the repository has 
no way of knowing I was going to need that and so it didn't fetch it.  In 
this case the Employee isn't mapped to eagerly fetch CurrentAssignment 
because it is only used in about 50% of the time, so unless I use proxies + 
mark my properties virtual the service is going to read it as NULL isn't it? 
But then if I do use proxies I am going to run into this polymorphic 
multi-association bug because Allowance is a base class form which I descend 
multiple classes (allowance types).  Apart from which, the idea of making my 
properties virtual makes me feel ill :-)

Pete
====
http://mrpmorris.blogspot.com 


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