Der Versuch, dynamisch alle Konfigurationen laden auf OnModelCreating für Entity Framework-Kern. was ist umgekehrt, wenn ModelConfiguration fehlt.System.Data.Entity.ModelConfiguration in EF Kern fehlt
6
A
Antwort
2
Ich habe über diese Frage nur gestolpert, als ich mich für die Antwort gesucht. Ich habe festgestellt, dass es in EF Core (noch?) Nicht implementiert ist, aber selbst relativ einfach implementiert werden kann.
Sie können eine davon erstellen:
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace Microsoft.EntityFrameworkCore
{
public abstract class EntityTypeConfiguration<TEntity> where TEntity : class
{
public abstract void Map(EntityTypeBuilder<TEntity> modelBuilder);
}
public static class ModelBuilderExtensions
{
public static void AddConfiguration<TEntity>(this ModelBuilder modelBuilder, EntityTypeConfiguration<TEntity> configuration) where TEntity : class
{
configuration.Map(modelBuilder.Entity<TEntity>());
}
}
}
Und dann können Sie eine Konfiguration für das Unternehmen selbst erstellen: -
using Microsoft.EntityFrameworkCore;
using Project.Domain.Models;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace Project.Persistance.EntityConfigurations
{
public class MyEntityConfiguration : EntityTypeConfiguration<MyEntity>
{
public override void Map(EntityTypeBuilder<MyEntity> modelBuilder)
{
modelBuilder
.Property();//config etc
}
}
}
Sie können dann alle irgendwo Ihre Konfigurationen laden (es gibt wahrscheinlich sowohl eine bessere Art und Weise und zu einem besseren Ort, es zu tun ... aber das ist, was ich tat): -
using Microsoft.EntityFrameworkCore;
using Project.Domain.Models;
using Project.Persistance.EntityConfigurations;
namespace Project.Persistance
{
public class MyDbContext : DbContext
{
// Normal DbContext stuff here
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.AddConfiguration(new MyEntityConfiguration());
}
}
}
0
Es ist noch einfacher in Core 2.0 jetzt
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace MyApp.DAL.EntityConfigurations
{
public class StudentConfiguration : IEntityTypeConfiguration<Student>
{
public void Configure(EntityTypeBuilder<Student> modelBuilder)
{
modelBuilder.Property(f => f.Name).IsRequired();
}
}
}
Dann in Ihrem db Kontext:
public DbSet<Student> Students{ get; set; }
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { }
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
// Customizations must go after base.OnModelCreating(builder)
builder.ApplyConfiguration(new StudentConfig());
builder.ApplyConfiguration(new SomeOtherConfig());
// etc.
// etc..
}
Verwandte Themen
- 1. Dotnet Kern - fehlt csproj.metaproj
- 2. EF Kern verwandte Entity Ausgabe
- 3. EF ObjectContext.SaveChanges fehlt
- 4. EF Kern: Scaffold DbContext hält versagt
- 5. EF fehlt where-Klausel in Update
- 6. ef Kern .INCLUDE(). Enthält() NULL-Verweis Ausnahme
- 7. EF Kern FromSql benutzerdefinierte Eigenschaft Bindung
- 8. EF-Kern-Paging. Wählen Gesamtzählung in derselben Abfrage
- 9. EF-Core 1.1 - Wie Migrationen in .net Kern Konsole hinzufügen
- 10. JObject fehlt in .NET-Kern, in NewtonSoft-Paket
- 11. HTTP ERROR: 404 fehlt Kern Name in Pfad mit solr
- 12. asp.net Kern- und EF-Core-Fehler, während Migration hinzufügen
- 13. DbSet <entity> .Load() -Funktion fehlt in EF 6.0
- 14. asp.net Kern/EF-Core Mysql Update Datenbank Fehler
- 15. EF Kern RemoveRange Artikel nicht auf Transaktion entfernt
- 16. EF Kern - selbst verweis viele zu viele Beziehung
- 17. Wie nach Primärschlüssel und Fremdschlüsselzustand im EF-Kern prüfen?
- 18. .net Kern ef Migrationstest - Migrationen mit C# Methode
- 19. Kern-0.13.0.job.jar fehlt und ich brauche es
- 20. Solr 5.3.1 Kern fehlt beim Neustart aber immer noch
- 21. Tabelle fehlt von "EF Designer aus der Datenbank" .edmx Diagramm
- 22. EF Datenbank erste Codegenerierung fehlt Key und Datenaufbelichtung
- 23. Thread.CurrentThread.CurrentUICulture in asp.net Kern
- 24. EF Kern: Ich beende mit Dubletten in der Datenbank, wenn Datensätze mit json.net
- 25. asp.net core, Ef-Kern: Repository und Dienste in Laufzeit dynamisch zuordnen
- 26. Ausführen von asp.net Kern EF-Migration in einer Klassenbibliothek ohne Hardcoding Verbindungszeichenfolge
- 27. VS 2015 .Net Kern Migration
- 28. Dotnet Kern 1.0.1 Laufzeitfehler
- 29. EF Rückgabe null für einige, aber EF Core return 0
- 30. ServicePointManager.DefaultConnectionLimit in .net-Kern?