So after having watched a few of Scott Stanfield's LINQ videos, I'm excited to get my hands dirty with some LINQ.

I want to understand best practices about how LINQ would be used in a complex application.  In some of the videos, Scott shows how you can hook into the OR-generated classes for tasks such as data validation by creating a partial class and implementing a partial method.

What are the general guidelines for adding business logic?  Is it a bad idea to just extend the generated classes and add biz logic?

Or should you create separate modules as a separate layer to encapsulate the logic?

I suspect the answer is "it depends" but I'd love to hear a discussion of what y'all have learned from implementing LINQ so far.

(update: LINQPad is awesome.)