1

我认为这应该很容易,但我无法弄清楚。我有一个使用 EF 查询的现有(旧版)数据库,我创建了几个 POCO 类,只要针对“dbo”模式发出查询,一切都很好。问题是我不能针对任何其他模式发出查询,比如说“foo”。我尝试覆盖 OnModelCreating 并指定架构,但它似乎不起作用......有人知道解决方法吗?对于这种特殊情况,我只需要查询功能(而不是插入、更新等)。如果有任何东西只能用于查询,那也很棒。我正在使用面向 .NET 4.0 的 EF 5 任何帮助将不胜感激。谢谢!

4

2 回答 2

1

ToTable 方法重载了传递 Schema 的选项

modelBuilder.Entity<Poco>().ToTable("tabX","schemaY");

知道“schema.table”有效,这很有趣,但由于存在过载,使用它可能会更好。

于 2013-05-04T06:34:11.560 回答
0

没关系,经过多次尝试,我终于弄明白了

protected override void OnModelCreating(DbModelBuilder modelBuilder) {
//don't know why, but for some reason this doesnt work (from scott gu's blog)
//modelBuilder.Entity<Foo>().ToTable("tblFoo", "bar");                        
//but this line of code does the trick ;)
 modelBuilder.Entity<Foo>().ToTable("bar.tblFoo");

}

于 2013-05-04T05:28:42.743 回答