2016-09-25 19 views
5

Suchen nach Metadaten in EF Core, um mit den Zuordnungen von Objekten & Eigenschaften zu Datenbanktabellen & Spalten zu arbeiten.Abrufen von Metadaten in EF Core: Tabellen- und Spaltenzuordnungen

Diese Zuordnungen werden in der OnModelCreating() - Methode DBContext.cs definiert, die Tabellen mit .ToTable() und Spalten über .Property.HasColumnName() zuordnen.

Aber ich sehe nicht, diese Metadaten unter den Entity-Typen von zurückgegeben ...

IEnumerable<IEntityType> entityTypes = [dbContext].Model.GetEntityTypes(); 

Ist diese Metadaten überall in EF-Core verfügbar?

Antwort

8

Sind diese Metadaten überall in EF Core verfügbar?

Ja ist es. Einfach zusätzlich zu den Eigenschaften die Methoden untersuchen (GetXXX, FindXXX etc.). Und achten Sie besonders auf Relational() Erweiterungsmethoden.

Zum Beispiel:

foreach (var entityType in dbContext.Model.GetEntityTypes()) 
{ 
    var tableName = entityType.Relational().TableName; 
    foreach (var propertyType in entityType.GetProperties()) 
    { 
     var columnName = propertyType.Relational().ColumnName; 
    } 
} 
+0

können wir jeden Bezug zu diesem Thema haben? – Sampath

+0

@Sampath Ich kann die Dokumentation der EF Core-Klasse nirgends finden. Alles, was ich habe, ist der VS Intellisense. –

+0

Hmm..ich habe auch versucht, das zu finden.kein Erfolg.irgendwo '+ 1' für deinen Fund :) – Sampath