0

エンティティ名を渡すジェネリック関数を作成したいのですが、次のようなエンティティ タイプのリストを返します。

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

context は objectcontext です。

解決策を提案してください。

4

1 に答える 1

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();
            }
于 2012-06-28T19:00:10.297 に答える