用于从实体获取实体列表的泛型函数

时间:2012-06-28 18:12:40

标签: c# asp.net entity-framework linq-to-entities

我想创建一个通用函数,我传递实体名称,它返回该实体类型的列表,如下所示:

private List<Entity> GetEntityList(Entity entity)
{
    return context.entity.ToList();
}

其中context是objectcontext。

请建议解决方案。

1 个答案:

答案 0 :(得分:0)

这可能会有所帮助:

public static class ObjectContextExtensions
    {
        public static ObjectQuery<TEntity> GetEntities<TEntity>(this ObjectContext context) where TEntity : class {
            var query = from pd in context.GetType().GetProperties()
                        where pd.PropertyType.IsSubclassOf(typeof(ObjectQuery<TEntity>))
                        select (ObjectQuery<TEntity>)pd.GetValue(context, null);
            return query.FirstOrDefault();
        }
    }

用法:

using (var objectContext = new ObjectContext())
            {
                var entities = objectContext.GetEntities<Entity>().ToList();
            }