ObjectContext的GetTable等价物

时间:2011-08-31 20:37:57

标签: entity-framework c#-4.0 objectcontext

我以前使用的DataContext有一个GetTable(type)方法来泛化表格。示例:

context.GetTable(myObject.GetType());

最近,我的团队决定转而使用ObjectContext和Entity Framework。有没有办法通过实体名称获取类似于DataContexts GetTable方法的表而不必指定特定类型?它必须是通用的。

1 个答案:

答案 0 :(得分:4)

确实有一种非常简单的方法可以做到这一点:

public IQueryable GetTable<T>(T entity) where T : class
{
    return context.CreateObjectSet<T>();
}

现在,如果我创建一个Person对象并将其传递给泛型方法,则“allPeople”下面的变量将是我的数据库中的IQueryable个人,您可以迭代它们。

Person person = new Person();
IQueryable allPeople = GetTable(person);