Click here to Skip to main content
15,889,335 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am having a dilemma on which is the best approach to use when using a large dataset. For example with the project that I am working on it currently uses the following datasets / Collections

1. Person - 1 to n depending on the Quote and Annual Travel.
2. Client - 1 to 2 records per client
3. Insured Covers - 1 to n as the client can ask for 1 quote per year.
4. Quote - 1 to n as they can have more than 1 quote
5. Property - for each quote they can have 1 to n properties
6. Sum Insured - a collection of insured items per property
7. Discounts And Loadings - 0 to n records depending on the quote
8. Annual Travel - 0 to n per quote (different types of charges)
9. Annual Travel Quick Summary - 0 to 1 per quote

At present while getting a demo of the project ready I have used a simple class that contains list properties to each item and a couple of generic methods that I use on the overall class i.e. clear the lists etc.

Due to some business rules I have to extract all of the data around a client out of the database so that I can perform business logic on the data collection at specified points in the application, such as archiving a complete quote before updating the existing one with the new values, summary calculations on the entire Quote and Management Information around the quote and broker.

So my question is that while the generic class containing the data works, is it the best approach that I can use in a multi tier application?

If this isn't a good approach can some one point me in the right direction for some reading material / examples?


Thanks
Simon
Posted
Updated 14-Dec-12 1:27am
v2
Comments
Akbar Ali Hussain 14-Dec-12 13:50pm    
I would suggest the combination of Generic collection and LINQ

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900