【问题标题】:List of all entities generated from data model从数据模型生成的所有实体的列表
【发布时间】:2013-01-24 20:31:18
【问题描述】:

如何获取从实体数据模型 (*.edmx) 生成的所有实体类型的列表?

我已经拥有数据库中的表名和模型实例 (.edmx)。

我想要所有数据实体的类型实例。

假设我的数据库有两个表: 员工 员工类型

然后模型将生成 2 个类并映射数据。我正在搜索的是一种获取列表(类型)的方法。 在这种情况下,结果列表将包含一个 Employee.GetType() 和 EmployeeType.getType() 的实例

谢谢!

(VS2010、VB.NET、EF4)

【问题讨论】:

    标签: .net visual-studio-2010 entity-framework


    【解决方案1】:

    其中一种方法是:

    ((EdmItemCollection)ctx
        .MetadataWorkspace
        .GetItemCollection(DataSpace.CSpace))
        .GetItems<EntityType>()
    

    我之前没有尝试过,但您甚至可以直接从工作区获取项目:

    ctx.MetadataWorkspace.GetItems<EntityType>(DataSpace.CSpace)
    

    如果您使用的是 DbContext,您可以按如下方式获取 ObjectContext:

    ((IObjectContextAdapter)ctx).ObjectContext
    

    【讨论】:

      【解决方案2】:
      using (AdventureWorksEntities context = new AdventureWorksEntities())
      {
          IQueryable<Product> productsQuery = from product in context.Products
                                              select product;
      
          Console.WriteLine("Product Names:");
          foreach (var prod in productsQuery)
          {
              Console.WriteLine(prod.Name);
          }
      }
      

      Object Queries - MSDN

      【讨论】:

      • 我想要的是类型,而不是数据。谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多