This was one that I worked out / discovered a good few months ago but I was reminded of it recently when another developer at work asked how to do it.
To give a quick context an Oracle database can be split up into multiple schemas. This can serve multiple purposes i.e. reporting / staging / archiving but you may need to include tables from these schemas in your EDMX model.
First thing to ensure is that your primary schema has access to the elements in your secondary schema. This is done by granting the relevant access required through Oracle (something like SQLDeveloper or SQLPlus).
GRANT SELECT ON SECONDARY_SCHEMA_NAME.TABLE_NAME TO PRIMARY_SCHEMA_NAME
If you want to more than just view the data, you will need to grant additional permissions depending on what you want to do i.e.
GRANT INSERT ON SECONDARY_SCHEMA_NAME.TABLE_NAME TO PRIMARY_SCHEMA_NAME
GRANT UPDATE ON SECONDARY_SCHEMA_NAME.TABLE_NAME TO PRIMARY_SCHEMA_NAME
GRANT DELETE ON SECONDARY_SCHEMA_NAME.TABLE_NAME TO PRIMARY_SCHEMA_NAME
Once you have issued the grants and you can successfully query the data from your secondary schema whilst logged into your primary, you can now setup your EDMX to browse from both.
To do this you need to make a modification to the filters in your Data Connection that is used by your EDMX model.
View your server explorer and find the Data Connection that your EDMX model uses.
Right click on connection and select ‘Modify Connection’.
Select the filters tab and looks at the ‘Displayed Schemas’ which should be top of the list.
Click on the button highlighted below to specify which schemas are to be included when Adding from the connection.
Select the displayed schemas from the list of available schemas and click Ok.
Be sure to click Update in the filters tab before clicking Ok in the Window or your change will not be saved.
Now when you go to add Tables / Views from your connection, the tables / views that you have granted access to will appear from the list that you can choose from.
Simple as peas.