web-dev-qa-db-fra.com

Comment spécifier un nom de table avec l'API First Fluent Code Entity Framework

J'ai une entité et je dois configurer Entity Framework pour le mapper sur une table de base de données portant un nom différent.

Je peux facilement le faire avec Code First DataAnnotations ( DataAnnotations.Schema.TableAttribute ).

Mais en raison de limitations, je dois maintenant utiliser API Code First Fluent (mes objets de domaine seront utilisés par des clients externes, donc ils ne doivent pas être spécifiques à une technologie - par exemple, aucune référence à DataAnnotations)

J'ai cherché sur MSDN mais rien trouvé. Alors est-ce possible et comment?

Je vous remercie.

77
bairog

Vous utiliserez la méthode .ToTable():

modelBuilder.Entity<Department>().ToTable("t_Department");   

Source: MSDN: http://msdn.Microsoft.com/en-us/data/jj591617.aspx

80
Martin Cron

Vous pouvez également utiliser l'annotation Table:

[Table("InternalBlogs")]
public class Blog

Voir: Code First Data Annotations

203
Assaf S.

Utilisez la méthode ToTable:

public class MyEntityMap : EntityTypeConfiguration<MyEntity>
{
    public const string TableName = "MyEntity";

    public MyEntityMap()
    {                   
        ToTable(TableName);

        Property(t => t.Id);
    }
}
7
alexmac