How to specify table name with Entity Framework Code First Fluent API
I have an Entity and I am to configure Entity Framework to map it to a database table with different name.
I can easily do this with Code First DataAnnotations (DataAnnotations.Schema.TableAttribute).
But due to limitations now I have to use Code First Fluent API (my domain objects will be used by external clients, so they shouldn't be technology-specific - e.g. have any references to DataAnnotations)
I've searched on MSDN but found nothing. So is it possible and how?
Thank you.
Solution 1:
You can also use the Table annotation:
[Table("InternalBlogs")]
public class Blog
See: Code First Data Annotations
Solution 2:
You'll use the .ToTable()
method:
modelBuilder.Entity<Department>().ToTable("t_Department");
Source: MSDN: http://msdn.microsoft.com/en-us/data/jj591617.aspx
Solution 3:
Use ToTable method:
public class MyEntityMap : EntityTypeConfiguration<MyEntity>
{
public const string TableName = "MyEntity";
public MyEntityMap()
{
ToTable(TableName);
Property(t => t.Id);
}
}