Is it reasonable to mix view models with domain models?
So i.e. the view model object contains some domain model objects (not the other way around!)
Is it reasonable to mix view models with domain models?
So i.e. the view model object contains some domain model objects (not the other way around!)
Yes, though you should expose your domain model through interfaces, not concrete classes.
Generally, you will have to reference your Domain Models in your View Models, or at least load the Domain Models in the controllers and pass the information on to your View Model.
I prefer to keep Controllers and Views as simple/dumb as possible, because both Domain Models and View Models are FAR easier to test.
So, I often reference my Domain Models inside my View Models. Sometimes I use aggregation, sometimes I just copy over properties (In some projects just with plain old code, in other projects using an auto mapper)
I tend to create separate view models that contain just what I need to be displayed in the view. AutoMapper is a create tool for making this easier.