Of course, you can still get the project manager explictly through a query:
Code:
SELECT Project.Title, ProjectAssignment.Whatever
FROM Project AS Project
LEFT JOIN Project.Assignments AS ProjectAssignment
WHERE ProjectAssignment.IsProjectManager = true
This is undesirable, though, if you'll have many queries where you want to refer to the project manager. It would be much cleaner if it could be done through the mapping so you could do
Code:
SELECT Project.Title, ProjectManager.Whatever
FROM Project AS Project
LEFT JOIN Project.Manager AS ProjectManager
Almost all of our collection items have a property called IsPrimary, and there will be one and only one item where it's set to true. Most of our queries will want to select the primary collection item, so we'd like to be able to define them as one-to-ones in the mapping so all our queries are cleaner.