2013-05-04 48 views
0

我认为这应该很容易,但我无法弄清楚。 我有一个使用EF查询的现有(遗留)数据库,我已经创建了几个POCO类,只要对'dbo'模式发出查询一切都很好。问题是我不能针对任何其他模式发出查询,比如说'foo'。 我试着重写OnModelCreating并指定模式,但它似乎不工作... 有没有人知道这个解决方法? 对于这种特殊情况,我只需要查询功能(不插入,更新等)。 如果存在任何只能用于查询的东西,它也会很棒。 我使用的是针对.NET 4.0的EF 5 任何帮助都会有所帮助。 谢谢!使用EF查询多个模式

回答

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"); 

}

0

的ToTable方法重载的选项传递架构

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

那有趣的是,“schema.table”可以工作,但是由于过载,可能会更好地使用它。

+0

当然,我已经尝试过,但它没有工作....这真的很奇怪。 – 2013-05-06 15:42:06