Oracle Entity Framework - 从不同模式的表中生成实体

Posted

技术标签:

【中文标题】Oracle Entity Framework - 从不同模式的表中生成实体【英文标题】:Oracle Entity Framework - Generate Entity From Tables in Different Schema 【发布时间】:2011-11-17 08:20:10 【问题描述】:

我使用自己的用户帐户登录 Oracle,我们可以将其称为 my_account,并且我被授予对我们的应用程序架构中所有表的 select 权限用途,我将其称为 app_schema

我想使用 Entity Manager 为 app_schema 架构中的表生成实体定义,但我没有该帐户的密码并且可能不会得到它,所以我必须以 my_account 身份登录。

当我运行向导时,我只能看到 my_account 架构中的表。有什么方法可以从不同的模式中获取表,以便我可以生成这些表?这是一个庞大的数据库,因此手动编写 .edmx 文件可能需要数天时间,并且可能会导致大量由拼写错误引起的错误。我尝试使用同义词,但它们在向导中也不可见。

【问题讨论】:

【参考方案1】:

在您的服务器资源管理器中,选择您的连接并右键。 单击过滤器选项卡,选择显示的模式,然后从模式列表中添加更多模式。 请记住单击更新按钮和确定以保存您的连接更改。

现在,当您添加新的 ADO.Net 实体数据模型时,您将看到架构中的所有表。

请访问此链接: https://forums.oracle.com/forums/thread.jspa?threadID=2291628&tstart=0

希望对您有所帮助。

塞萨尔。

【讨论】:

这为我节省了很多时间。 SO 中投票率最低的有用答案之一。如果您不介意,请添加屏幕截图以进一步描述该过程。 我在 oracle 论坛here 上报告了提议的解决方案似乎存在错误。总的来说,它有效。 将用户的模式保留在列表的“显示模式”中,否则当您要添加数据模型时,表格不会显示【参考方案2】:

我使用的是 EF 4.2,发现只有在创建新连接(使用 my_account)并在通过实体数据模型时使用过滤器时才能使用来自其他用户/模式的表向导。将 app_schema 添加到 Displayed Schemas 过滤器(请务必按更新)。

就像 CMarchan 建议的那样,如果我在服务器资源管理器中的连接上设置过滤器,它在那里对我有用,但 EDM 向导在创建新模型时看不到连接(可能只是 4.2 中的“功能”) .

创建 EDM 后,它确实允许我从 app_schema 添加/编辑表。

【讨论】:

以上是关于Oracle Entity Framework - 从不同模式的表中生成实体的主要内容,如果未能解决你的问题,请参考以下文章

Oracle+Entity Framework主键冲突

Entity Framework 6 + Code First + Oracle 12c 的示例

首先使用 Entity Framework 6 代码访问 Oracle Synonyms

Oracle Entity Framework - 从不同模式的表中生成实体

Entity Framework 6 Code First +MVC5+MySql/Oracle使用过程中的两个问题

如何在没有配置文件的情况下使用 Oracle Entity Framework