1

我以前使用具有 GetTable(type) 方法的 DataContext 来一般地获取表。例子:

context.GetTable(myObject.GetType());

最近我的团队决定转而使用 ObjectContext 和实体框架。有没有一种方法可以通过类似于 DataContexts GetTable 方法的实体名称获取表,而无需指定特定类型?它必须是通用的。

4

1 回答 1

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);
于 2011-09-01T01:06:26.480 回答