when creating a Generic Content based module you do not need to write DAL or provider. Namely, you can define the fields your module will need as metafields and Sitefinity will do the rest for you (that's how its done in the sample products module).
If that is not enough, you have another option as well. Let's suppose that your module will need to have suppliers and that each product belongs to a supplier. You can then implement your own provider and inherit from the Telerik.Cms.Engine.Data.Providers.DefaultProvider and inside of it implement only the methods that are concerning suppliers. And these methods you can implement in any way you see fit (ADO.NET, Linq to Sql, DataSets, XML....).
So you would end up with following:
- Suppliers - your object and you implement the CRUD methods in the derived provider in any way that you see fit
- Products - object of type IContent > data access provided by Sitefinity (this is exactly as it is done in the products sample in the manual).
I would personally reuse GC provider for products, because I can't see what could be gained from rewriting the already existing provider (except, of course, unless you will be using webservices, xml or a database not supported by Nolics.NET to store your products).
I hope you'll find this information helpful. Let me know if I wasn't clear enough or if you get stuck somewhere.
All the best,
the Telerik team
Check out Telerik Trainer
, the state of the art learning tool for Telerik products.