在Entity Framework中,如何在VS2017中从不同的Oracle模式生成实体
In Entity Framework, how to generate entities from different Oracle schemas in VS2017
我目前正在尝试从 Entity Framework 6 中现有的 Oracle 12 数据库中的 tables 生成代码。我遇到的问题是,虽然它能够看到架构当我登录环境时,我拥有,Entity Framework 似乎看不到我有权访问的任何其他模式。
如何更改它以便我可以看到另一个架构?
我用过Entity Framework模型优先和代码优先。我可以手动更改我在 Oracle 中拥有的生成的 table 的架构,它会起作用,但这意味着从我自己的架构中的其他架构生成我自己的 tables 版本只是为了能够通过 Entity Framework 使用它们。
否则从所有现有 table 生成所有代码将是一项繁琐的工作。
我该如何解决这个问题?
好的,我已经解决了问题。在 Entity Framework 中,有一种特殊的方法可以让模式与 Oracle 一起工作,如果需要,您可以充分利用 Entity Framework,包括 Designer/Canvas。
首先,在您的应用程序中,使用 Nuget 安装 Oracle.ManagedDataAccess.EntityFramework 包。如果你在 Nuget 中查看这个包的描述,它说它依赖于 EntityFramework 和 Oracle.ManagedDataAccess。所以安装一个包,它会安装所有的包,如果它丢失了。
接下来,如果您阅读该说明底部的评论,它会显示 "Note: The 32-bit Oracle Developer Tools for Visual Studio download from http://otn.oracle.com/dotnet is required for Entity Framework design-time features and for other Visual Studio designers such as the TableAdapter Wizard. This NuGet download does not enable design-time tools, only run-time support."
因此您需要安装与您的环境相匹配的 Visual Studio Oracle 工具。安装 ODTwithODAC 包不会给你正确的结果。
最后,添加到Oracle 数据库的连接。然后,打开服务器资源管理器并找到该连接。右键单击连接,然后选择 select 过滤器。然后 select 显示模式。通过单击“...”按钮并 selecting 模式,编辑该值,添加您想要显示的所有模式。然后单击更新。然后点击确定。
下次您想 select 刚添加的架构中的对象时,它将出现在 Entity Framework 列表中。
我目前正在尝试从 Entity Framework 6 中现有的 Oracle 12 数据库中的 tables 生成代码。我遇到的问题是,虽然它能够看到架构当我登录环境时,我拥有,Entity Framework 似乎看不到我有权访问的任何其他模式。
如何更改它以便我可以看到另一个架构?
我用过Entity Framework模型优先和代码优先。我可以手动更改我在 Oracle 中拥有的生成的 table 的架构,它会起作用,但这意味着从我自己的架构中的其他架构生成我自己的 tables 版本只是为了能够通过 Entity Framework 使用它们。
否则从所有现有 table 生成所有代码将是一项繁琐的工作。
我该如何解决这个问题?
好的,我已经解决了问题。在 Entity Framework 中,有一种特殊的方法可以让模式与 Oracle 一起工作,如果需要,您可以充分利用 Entity Framework,包括 Designer/Canvas。
首先,在您的应用程序中,使用 Nuget 安装 Oracle.ManagedDataAccess.EntityFramework 包。如果你在 Nuget 中查看这个包的描述,它说它依赖于 EntityFramework 和 Oracle.ManagedDataAccess。所以安装一个包,它会安装所有的包,如果它丢失了。
接下来,如果您阅读该说明底部的评论,它会显示 "Note: The 32-bit Oracle Developer Tools for Visual Studio download from http://otn.oracle.com/dotnet is required for Entity Framework design-time features and for other Visual Studio designers such as the TableAdapter Wizard. This NuGet download does not enable design-time tools, only run-time support."
因此您需要安装与您的环境相匹配的 Visual Studio Oracle 工具。安装 ODTwithODAC 包不会给你正确的结果。
最后,添加到Oracle 数据库的连接。然后,打开服务器资源管理器并找到该连接。右键单击连接,然后选择 select 过滤器。然后 select 显示模式。通过单击“...”按钮并 selecting 模式,编辑该值,添加您想要显示的所有模式。然后单击更新。然后点击确定。
下次您想 select 刚添加的架构中的对象时,它将出现在 Entity Framework 列表中。