Quote:
Are you trying to map a field that is not the primary key of the parent to be the key to the children?
Yes I am, is this possible?
I tried to do this a few months ago and was told at that time that it was not allowed because it represents a bad data model so the only way around it that I know of is to have a cross reference between the two tables (or in your case views) that does provide keying from the parent's primary key to some field on the children (either with or without a finer grained object model).
Your mapping from SITE.SiteId to NAVPAGE.NavSiteId should be just fine (much like
ashneyde described) but for your mapping from SITE.SiteSchemeId to SCHEME.SchemeId you would need a cross reference that matched up the primary keys.
It actually looks to me like your relationship from SITE to SCHEME could be a many-to-many instead of a one-to-many but I think you would still need a cross reference (which you can easily make as another view and you don't need an object for it because its just needed for mapping the relationship).