1. ホーム
  2. entity-framework

[解決済み] EF Core の EntityTypeBuilder に ToTable の定義が含まれていない。

2022-05-13 02:47:02

質問

このようなサンプルコードを持っています。

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Models;

namespace MySampleNamespace
{
    public class MyDbContext : DbContext
    {
        public MyDbContext(DbContextOptions<MyDbContext> options)
            : base(options)
        {
        }

        public DbSet<User> Users { get; set; }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            new UserMap(modelBuilder.Entity<User>());
        }

        public class UserMap
        {
            public UserMap(EntityTypeBuilder<User> entityBuilder)
            {
                entityBuilder.ToTable("User");
                entityBuilder.Property(s => s.Username).HasMaxLength(15).IsRequired();
            }
        }
    }
}

私はMSのウェブサイトからいくつかの例をテストしていましたが、私はToTableメソッドを見つけることができません。その例で、Usingが何であるかを確認したところ、使用しているモデルのクラスプロジェクト以外では、Microsoft.EntityFrameworkCoreだけがUsingされていました。これは変更されたのでしょうか?どのように私は今これを行うのですか?

どのように解決するのですか?

インストール方法 Microsoft.EntityFrameworkCore.Relational は、Ivan が言うように、正しい解決策です。