我认为这应该很容易,但我无法弄清楚。 我有一个现有的(遗留)数据库,我正在使用EF查询,我创建了几个POCO类,只要针对'dbo'模式发出查询,一切都很好。问题是我无法针对任何其他架构发出查询,请说'foo'。 我尝试重写OnModelCreating并指定架构,但它似乎不起作用...... 有人知道解决方法吗? 对于这种特殊情况,我只需要查询功能(不是插入,更新等)。 如果它有任何仅适用于查询的东西,它也会很棒。 我正在使用针对.NET 4.0的EF 5 任何帮助都会被贬低。 谢谢!
答案 0 :(得分: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");
}
答案 1 :(得分:0)
ToTable方法超载了传递Schema的选项
modelBuilder.Entity<Poco>().ToTable("tabX","schemaY");
知道“schema.table”有效,这很有意思,但由于存在重载,最好使用它。