Rod Johnson, founder of Spring framework, made great presentation on persistence strategies. He suggests to use O/R mapping framework in 90% of cases and layering/interfaces/Spring to separate persistence and domain model. I wonder when good IoC frameworks with persistence integration support will appear in .NET world. Spring.NET does not provide anything useful, Castle provides NHibermate integration and it works, but I don’t like Castle. I can’t clearly express my impression, but something in Castle is not attractive for me. Well, the one reason is in lack of IoC configuration, so you have to extend Castle to do something useful. Maybe this is the case.
But, anyway, Castle is the only useful thing for now and its architecture is quite flexible. So I hope things will change. And Castle project needs more support from .NET community for sure.