Andrus,
>>Rather than hard-coding these sorts of expressions you should use business objects instead. In your business object methods you can determine if the requested data is already present--if it's not, you can retrieve it.
>
>expressions are inside ad-hoc reports. Those expression can be entered and changed by end-user.
>
>Should I automatically generate Business object C# code and create assembly every time when end-user adds new expression to report ?
Ad-hoc reports are a bit different if you're giving this unusally high level of control to a user, but you can do something where you pass the ad-hoc query strings to a business object method that in turn passes them to the data access object.
Best Regards,
Kevin McNeish
Eight-Time .NET MVP
VFP and iOS Author, Speaker & Trainer
Oak Leaf Enterprises, Inc.
Chief Architect, MM Framework
http://www.oakleafsd.com