Using Schema First, I have a database structure, as so
ExternalDataItems
---
edataitem_id PK -- surrogate
Looks like "missing important feature"
.. The Entity Framework currently only supports basing referential constraints on primary keys and does not have a notion of a unique constraint.
You can remove foreign key in DB scheme and use LINQ to join tables:
from item in ExternalDataItems
join map in ExternalMaps on item.datahash = map.ext_datahash
select new { item.edataitem_id, map.emap_id };
Also you can create the VIEW with these joined tables and use the one.