1. Which framework are you on? 2.0? 3.5? 1.1?
check here
http://sholliday.spaces.live.com/feed.rss
find the
5/24/2006
Custom Objects/Collections and Tiered Development
blog entry.
Read it. Try the code.
Then also find the "bird's eye view" MS article listed.
LINQ is a different suggestion.
Entity Framework.
However, I'm still on the fence about whether LINQ (to Sql) should always
replace a DAL layer (as defined at my blog entry above) for long term..or
high demand applications.
I am in favor of LINQ for more basic projects, without high demand on the
db. Again, this is one (of many) opinions and I'll still weeding through
it.
I'm not an expert in LINQ....I'm getting better.
I have a 2.0 example (you can find it at the feed.rss url above), but
reading through the 1.1 version is a better starting place, because I have
strong datasets in that project to compare.
I ~always (almost always that is) pick custom business objects over strong
datasets. My one exception is reports. I use the push method (and push
strong datasets) to report objects. Active Reports and/or Crystal
Reports. The reason? Because reports change over time (get "tweaked") the
overhead of custom business objects seem too high a price (IMHO, again
this is one opinion amongst many). I just prefer to whip up a strong
dataset, populate it, and let it be the model (datasource) for the report.
......................
Don't forget about LINQ to Objects. 2 technologies are always mutually
exclusive.
...............
PS
Google
Ludwig C# Generics for a good (2.0 flavor) article on how to work with
(sort, search, etc) Custom Business Objects (and their collections).
Good luck.