if anyone else trips along this looking for the specifics, here's what i've found to be the solution:
1) Problem is this: you want to bind to a list of entities but use a property from a related table as the display. For example, you have a list of Customers, but the contact name is stored in the Person table.
2) In the Designer, right-click on the entity to pull up the editor (or hit CTRL+e). Navigate to the tab labeled 'Fields on Related Fields'.
3) Add your desired fields from any of the related entities. Save changes, export your project.
4) In your code, you'll need to do a few things to get at the data. In my case, I had a filter that I needed to apply to the list of Customers. We also need to prefetch the related entities so that the data is present when the framework goes looking for the value. The code looks pretty close to this (we use Adapter):
// our data adapter
DataAccessAdapter adapter = new DataAccessAdapter();
// setup our filter to limit results on the type of customers
IPredicateExpression filter = new PredicateExpression();
filter.Add(CustomerFields.ClassificationId == 171);
// create a prefetch path to allow the related person objects to be
// made available
IPrefetchPath2 prefetchPath = new PrefetchPath2((int)EntityType.CustomerEntity);
prefetchPath.Add(CustomerEntity.PrefetchPathPerson);
// create the collection and fetch the data
EntityCollection customers = new EntityCollection(new CustomerEntityFactory());
adapter.FetchEntityCollection(customers, new RelationPredicateBucket(filter), prefetchPath);
// bind the data to the listbox
listboxCustomers.DataSource = customers;
listboxCustomers.DataTextField = "FullName";
listboxCustomers.DataValueField = "AthleteID";
listboxCustomers.DataBind();
that's it.
i actually was prefetching the person entities before, but then dropped it after i created the field mappings, thinking that, perhaps, the data from Person would be propagated up to Customer without having to retrieve Person. this isn't the case, and i added the prefetch back to get it working.
all is good...hope this helps someone else.
cheers,
jc