Comment obtenir une liste de toutes les entités dans EF 5?

Je construis une application MVC 4. J’ai vue qui a une liste déroulante qui doit afficher toutes les tables (entités) utilisées ..

Comment puis je faire ça? J’utilise d’abord le code EF 5 avec des configurations.

Toute aide serait appréciée.

Merci

Ce code les obtiendra pour vous, bien entendu ceux qui ont été importés dans votre EDM, qui ne correspondent pas nécessairement à toutes les tables de votre magasin de données.

var tableNames = context.MetadataWorkspace.GetItems(DataSpace.SSpace) .Select(t => t.Name) .ToList(); 

Pour le code d’abord:

 using System.Data.Metadata.Edm; using System.Data.Objects; using System.Data.Entity.Infrastructure; ... using (dbcontext context = new TestContext()) { ObjectContext objContext = ((IObjectContextAdapter)context).ObjectContext; MetadataWorkspace workspace = objContext.MetadataWorkspace; IEnumerable tables = workspace.GetItems(DataSpace.SSpace); } 

Cela fonctionne très bien pour moi sur EF 6

  public List EntityNames() { ObjectContext objContext = ((IObjectContextAdapter)myDbContext).ObjectContext; MetadataWorkspace workspace = objContext.MetadataWorkspace; IEnumerable tables = workspace.GetItems(DataSpace.SSpace); List lst = new List(); foreach (var table in tables) { var entityName = table.FullName.Replace("CodeFirstDatabaseSchema.", ""); lst.Add($"{entityName}"); } return lst; }