Lebih
EntityTypeBuilder tidak berisi definisi untuk Kemeja di EF Core
Saya memiliki ini contoh kode:
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();
}
}
}
}
Saya menguji beberapa contoh dari MS web, tapi aku bisa't menemukan Kemeja metode. Dalam contoh, saya telah memeriksa apa Usings dan hanya Menggunakan contoh adalah Microsoft.EntityFrameworkCore selain dari proyek kelas untuk model yang ia gunakan. Ini berubah? Bagaimana saya melakukan ini sekarang?
41
6
Menginstal
Microsoft.EntityFrameworkCore.Relasional
adalah solusi yang tepat, karena kata Ivan.Ivan & Mardoxx benar.
Saya mencoba untuk hanya menginstal
Microsoft.EntityFrameworkCore.Alat
kemudian mendapat kesalahan ini:Kemeja
, tidak diketahui apakah ini bahkan diperlukanMicrosoft.EntityFrameworkCore.Relasional
dan sekarang menyelesaikanAku punya masalah ini, tetapi tidak perlu untuk menginstal:
Aku hanya keluar VS 2017 dan dibuka kembali solusi saya. Saya telah mengikuti paket NuGet yang diinstal:
Dan berikut CLI Alat Referensi:
Porting dari EF6 untuk EFCore, kita punya masalah ini. Tujuan kita adalah
.HasKey
sekarang kembaliKeyBuilder
dan.Kemeja
doesn't beroperasi di atasnya. Begitu membalikkan yang bekerja.Ie. Adalah:
Menjadi:
perlu menambahkan paket (nuget) Microsoft.EntityFrameworkCore.SqlServer karena ini adalah MS Sql metode
Tergantung pada anda .Net Core versi yang anda gunakan.
Microsoft.EntityFrameworkCore.Alat-alat.DotNet
hanya mendukung .NetStandard >= 2.0.Jika anda .Net Core versi 4.6.1, update
Microsoft.EntityFrameworkCore
untuk 2.0.0-preview1-final, bersama dengan terkait EntityFramework Dll, kemudian tutup Visual Studio 2017 dan membuka kembali.