循环遍历DBContext上的所有DBSet(TEntity)

时间:2015-06-17 03:35:20

标签: entity-framework entity-framework-6

我正在使用实体Framework 6.1,DbContext,Database First。 我知道我可以通过以下名称获取DBsets:context.Myobj1,context.Myobj2 .....

但是有没有可能为每个循环做一个并且在DbContext上逐个获得所有DbSet(Tentity)?

1 个答案:

答案 0 :(得分:-1)

您需要发现实体类型。这取决于您的申请。您可以使用反射来发现这些类型。或者您可以对实体的类型进行硬编码。

在此之后你可以循环设置:

var types = new [] { typeof(User), typeof(Role) }; // just example

foreach(var type in types)
{
    foreach(var entity in context.DbSet(type))
    { ... }
}