user441058
user441058

Reputation: 1278

dbcontext - non dbo owner

I'm using EF 5 to connect to my tables, but my tables don't have dbo as the owner. EF 5 queries insert dbo as the default owner. Can you tell me how to override this? Here are some code snippets:

public class MessageBoardContext : DbContext
{
  public MessageBoardContext()
    : base("DefaultConnection")
  {

  this.Configuration.LazyLoadingEnabled = false;
  this.Configuration.ProxyCreationEnabled = false;

  Database.SetInitializer(
    new MigrateDatabaseToLatestVersion<MessageBoardContext, MessageBoardMigrationsConfiguration>()
    );
}

public DbSet<Topic> Topics { get; set; }
public DbSet<Reply> Replies { get; set; }

}

public class MessageBoardRepository : IMessageBoardRepository
{
  MessageBoardContext _ctx;
  public MessageBoardRepository(MessageBoardContext ctx)
  {
    _ctx = ctx;
  }

  public IQueryable<Topic> GetTopics()
  {
    return _ctx.Topics;  //Uses dbo.Topics here! Which I don't want.
  }
}

Upvotes: 0

Views: 630

Answers (1)

user441058
user441058

Reputation: 1278

Found it! Here is the link: http://devproconnections.com/entity-framework/working-schema-names-entity-framework-code-first-design

Here is a quick code snippet:

public class OrderingContext : DbContext
{
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Customer>().ToTable("Customers", schemaName: "Ordering");

 }}

Upvotes: 1

Related Questions