如何使用 Oracle.ManagedDataAccess.EntityFramework 提供程序从不同的模式 select 表?

How do I select tables from a different schema using the Oracle.ManagedDataAccess.EntityFramework provider?

我在互联网上的各个地方都看到过这个问题;但是我看到的 none 个答案比 2011 年更新(其中 none 个似乎有效)。

无论如何,当我访问服务器时,它会尝试向我显示 table 与我的用户模式关联的信息;但是,我需要为我具有读取权限的另一个模式生成实体。

DevArt 建议需要使用特定类型的 table 资助;但由于我不是 Oracle 开发人员,我不知道这是特定于他们的提供商还是普遍适用于 Oracle 服务器。无论哪种方式,它似乎都没有用。

2011 年编辑服务器连接过滤器的技巧对 EDM 向导没有影响(否则它需要一种特殊的保存形式,在 UI 中并不明显);到目前为止,我没有找到用于指定架构的连接字符串条目(这太方便了。)

郑重声明,我正在使用 EF6;而且我已经将近十年没有使用 Oracle 了。

谢谢

让您的 DBA 执行以下操作:

1) 确保 DBA 授予您在连接字符串中使用的帐户 SELECT 访问 oracle table.

grant select on myschema.mytable to group_or_username; 

2) 确保 DBA 在您尝试访问的其他模式中创建同义词。

create or replace synonym anotherschema.mytable for myschema.mytable;

3) 确保在 ORM 工具中的 table 名称之前包含架构名称。

HTH