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