J'ai ce code d'exemple:
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Models;
namespace MySampleNamespace
{
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions options)
: base(options)
{
}
public DbSet Users { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
new UserMap(modelBuilder.Entity());
}
public class UserMap
{
public UserMap(EntityTypeBuilder entityBuilder)
{
entityBuilder.ToTable("User");
entityBuilder.Property(s => s.Username).HasMaxLength(15).IsRequired();
}
}
}
}
J'essayais un exemple du site MS, mais je ne trouve pas la méthode ToTable. Dans l'exemple, j'ai vérifié les directives Using et la seule directive Using présente dans l'exemple est Microsoft.EntityFrameworkCore en dehors du projet de classe pour le modèle qu'il utilisait. Est-ce que cela a changé? Comment puis-je faire cela maintenant?
49 votes
Assurez-vous d'avoir une référence à l'assembly Microsoft.EntityFrameworkCore.Relational. Les usings sont corrects - la méthode en question est une méthode d'extension définie dans la classe
RelationalEntityTypeBuilderExtensions
sous le namespaceMicrosoft.EntityFrameworkCore
dans cet assembly.