Définir le nom d'une table - Code First
Bonjour,
Je débute avec ASP NET CORE MVC, j'ai choisi l'approche code first pour mon projet.
Dès lors que je fais une migration puis un update de la base, le nom de mes tables correspond aux noms de mes classes, cependant, j'aurais souhaité que mon modèle Client corresponde à une table "Clients", j'ai essayé d'utiliser les annotations, de modifier ma méthode "OnModelCreating" mais rien y fait..
Ci-dessous la méthode OnModelCreating de mon contexte:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Client>().ToTable("Clients");
modelBuilder.Entity<User>().ToTable("Users");
modelBuilder.Entity<Employee>().ToTable("Employees");
modelBuilder.Entity<Role>().ToTable("Roles");
modelBuilder.Entity<Person>().ToTable("Persons");
foreach (var entity in modelBuilder.Model.GetEntityTypes())
{
if (entity.BaseType == null)
{
entity.SetTableName(entity.DisplayName());
}
}
} |
Ma classe Client
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
namespace Madera.Models
{
[Table("Clients")]
public class Client //: Person
{
[Key]
public int ClientNumber { get; set; }
[Required]
public Person Person { get; set; }
}
} |
Pouvez vous m'aider ? Merci d'avance