このようなサンプルコードがあります。
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
私は単にVS 2017を終了し、私のソリューションを再オープンしました。 私は以下のNuGetパッケージがインストールされていました。
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Tools
そして、以下のCLIツールリファレンス。
Microsoft.EntityFrameworkCore.Tools.DotNet
使用している.Net Coreのバージョンに依存します。Microsoft.EntityFrameworkCore.Tools.DotNet` は、.NetStandard >= 2.0 にのみ対応しています。
.Net Core のバージョンが 4.6.1 の場合、関連する EntityFramework DLL とともに Microsoft.EntityFrameworkCore
を 2.0.0-preview1-final に更新してから Visual Studio 2017 を終了して再度開いてください。