Ich verwende den MySQL-Server für die Datenbank und erstelle die Datenbank mit Migrationen so einfach, aber wenn ich versuche, einige Daten in die Datenbank einzufügen, löst meine App beim Aufrufen der SaveChanges-Methode eine Ausnahme aus.
Ich muss eine Unternehmensanwendung erstellen und die vorhandene Datenbank migrieren (
Code: Select all
.dbfTransaktion löschen.
Verbindung zur Datenbank „EntityFrameworkCore“ auf Server „localhost“ wird geschlossen.
Verbindung zur Datenbank „EntityFrameworkCore“ auf Server „localhost“ geschlossen.
Beim Speichern von Änderungen für den Kontexttyp ist in der Datenbank eine Ausnahme aufgetreten 'EntityFrameworkCore.Data.TiendaContext'.
Microsoft.EntityFrameworkCore.DbUpdateException:
Beim Aktualisieren der Einträge ist ein Fehler aufgetreten. Weitere Informationen finden Sie in der inneren Ausnahme.
---> System.MissingFieldException: Es wurde nicht gefunden: 'Microsoft.EntityFrameworkCore.Metadata.Internal.EntityMaterializerSource.ThrowReadValueExceptionMethod'.
Dies ist meine Programmklasse
Code: Select all
class Program
{
static void Main(string[] args)
{
InsertCliente();
}
private static void InsertCliente()
{
using (var ctx = new TiendaContext())
{
var cliente = new Cliente { Nombre = "Pedro" };
ctx.GetService().AddProvider(new MyLoggerProvider());
ctx.Clientes.Add(cliente);
ctx.SaveChanges();
}
}
}
Code: Select all
public class TiendaContext:DbContext
{
public DbSet Clientes { get; set; }
public DbSet Productos { get; set; }
public DbSet Trasacciones { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity()
.HasKey(k => new { k.ProductoId, k.TransaccionId });
base.OnModelCreating(modelBuilder);
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySQL(
"server=localhost;port=3306;database=EntityFrameworkCore;uid=root;password=408792");
}
}
Mobile version