【发布时间】:2018-01-17 06:41:20
【问题描述】:
我目前正在尝试从 Entity Framework 6 中的现有 Oracle 12 数据库中的表生成代码。我遇到的问题是,虽然它能够在我登录环境时看到我拥有的架构,但 Entity框架似乎看不到我有权访问的任何其他架构。
如何更改它以便我可以看到另一个架构?
我使用过实体框架模型优先和代码优先。我可以手动更改我在 Oracle 中拥有的生成表上的模式,它会起作用,但这意味着从我自己的模式中的其他模式生成我自己的表版本,以便能够通过实体使用它们框架。
否则,从所有现有表中生成所有代码将是一项繁琐的工作。
我该如何解决这个问题?
【问题讨论】:
-
我认为 EF 在这个阶段不支持模式。一种解决方法是在您拥有的架构中创建同义词返回到其他表。
-
[Table("TableName", Schema = "MyOtherSchema")] class MyEntityTypeName { ... }? -
在
OnModelCreating内部调用modelBuilder.HasDefaultSchema("MyOtherSchema")以获得一些默认值。但也许我还不了解您的实际工作流程...... -
在相关问题列表中找到,也许会有所帮助stackoverflow.com/questions/7422275/…
标签: c# oracle entity-framework entity-framework-6 odp.net-managed