我以前使用具有 GetTable(type) 方法的 DataContext 来一般地获取表。例子:
context.GetTable(myObject.GetType());
最近我的团队决定转而使用 ObjectContext 和实体框架。有没有一种方法可以通过类似于 DataContexts GetTable 方法的实体名称获取表,而无需指定特定类型?它必须是通用的。
我以前使用具有 GetTable(type) 方法的 DataContext 来一般地获取表。例子:
context.GetTable(myObject.GetType());
最近我的团队决定转而使用 ObjectContext 和实体框架。有没有一种方法可以通过类似于 DataContexts GetTable 方法的实体名称获取表,而无需指定特定类型?它必须是通用的。
确实有一种非常简单的方法可以做到这一点,如下所示:
public IQueryable GetTable<T>(T entity) where T : class
{
return context.CreateObjectSet<T>();
}
现在,如果我创建一个Person
对象并将通用方法传递给它,“allPeople”下面的变量将是IQueryable
我数据库中的一个人,但您可以对其进行迭代。
Person person = new Person();
IQueryable allPeople = GetTable(person);