Ich habe gerade angefangen, auf eine SQL-Datenbank zu migrieren, und es ist ein Problem mit einer MissingMethodException aufgetreten. Hier ist die Konfigurationsklasse, die den Fehler auslöst:
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Project.Core.Entities.Users;
namespace Project.Persistance.Configuration.Users
{
public class UserClaimTypeConfiguration : IEntityTypeConfiguration<UserClaimType>
{
public void Configure(EntityTypeBuilder<UserClaimType> builder)
{
builder.HasKey(entity => entity.Id);
builder.Property(entity => entity.Name)
.IsRequired()
.HasMaxLength(30);
builder.HasIndex(entity => entity.Name);
builder.Property(entity => entity.Description)
.IsRequired(false)
.HasMaxLength(100);
builder.Ignore(entity => entity.ValueType);
}
}
}
Und das ist ein Fehler, den ich in der Konsole erhalte:
PM> add-migration user
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.MissingMethodException: Method not found: 'Microsoft.EntityFrameworkCore.Metadata.Builders.IndexBuilder Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder`1.HasIndex(System.Linq.Expressions.Expression`1<System.Func`2<!0,System.Object>>)'.
at Project.Persistance.Configuration.Users.UserClaimTypeConfiguration.Configure(EntityTypeBuilder`1 builder)
at Microsoft.EntityFrameworkCore.ModelBuilder.ApplyConfiguration[TEntity](IEntityTypeConfiguration`1 configuration)
Ich habe 'Goggle' und die Microsoft-Dokumentation ausprobiert, kann aber anscheinend keinen Hinweis auf dieses Problem finden - es muss also mein Setup sein. Kann nur nicht herausfinden, was es verursacht!
Aktuelle Änderungen in der .NET Core 3.0-Vorschau 3. Behoben in Vorschau 4: ASP.NET Core-Problem 8467 (BEHOBEN)