如何获取EF 5中所有实体的列表?

use*_*329 1 c# asp.net-mvc-4 entity-framework-5

我正在构建一个MVC 4应用程序.我有一个下拉列表,需要显示所有使用的表(实体)..

我怎样才能做到这一点?我首先使用EF 5代码进行配置.

任何帮助,将不胜感激.

谢谢

Rad*_*Zec 6

此代码将为您提供这些代码,当然是已导入EDM的代码,这些代码不一定是数据存储中的所有表.

var tableNames = context.MetadataWorkspace.GetItems(DataSpace.SSpace)
                        .Select(t => t.Name)
                        .ToList();
Run Code Online (Sandbox Code Playgroud)

对于代码优先:

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<EntityType> tables = workspace.GetItems<EntityType>(DataSpace.SSpace);

}
Run Code Online (Sandbox Code Playgroud)