if the relationship is 1:1 why not create a hierachy (super/sub types)? This would easily solve your DataView issues as everything is contained within 1 object.
Because the relationships are all distinct data constructs in their own right.
In this case there is a Resource which is assigned to a Project, has a Role on a Project (the same role can exist on multiple projects), and can have a user associated with it.
In this case I want to pull all of the data from the resource table for a specific project, as well as pull the Project name, Role name, and user name and chunk everything in a DataView delivered by a service layer living on top of the domain layer (LLBLGen).