How do you explicitally tell EF that a table lies in a specific schema?
For example, the AdventureWorks database defines the Production.Product table. When using the OnModelCreating
method, I use the following code:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
EntityTypeConfiguration<Product> config = modelBuilder.Entity<Product>();
config.HasKey(p => p.ProductID);
config.Property(p => p.Price).HasColumnName("ListPrice");
config.ToTable("Product");
}
However, when it is run, it says it Invalid object name: dbo.Product
.
I have tried:
config.ToTable("Production.Product");
//and
config.HasEntityName("Production");
but both fail as well.
ToTable
has overloaded version which accepts two parameters: table name and schema name so correct version is:
config.ToTable("Product", "Production");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With