specify a different name for table|column name in EF4

Omu picture Omu · Jan 17, 2011 · Viewed 18.8k times · Source

I'm using EF4 with CodeFirst

public class People : DbContext
{
    public DbSet<Human> Humans { get; set; }
    public DbSet<Child> Children { get; set; }
}

At the moment, EF looks in the database for the Human table. How can I specify for it to look for Humans instead?

Answer

Ladislav Mrnka picture Ladislav Mrnka · Jan 17, 2011

You can change table name on Human class:

[Table("Humans")]
public class Human
{
    ...
}

Other way is to use Fluent API:

modelBuilder.Entity<Human>()
    .ToTable("Humans");

Similary you can use ColumnAttribute or HasColumnName method to change the name of column.