基于表名获取表(ObjectSet)(实体框架)

时间:2013-10-28 17:16:06

标签: c# .net entity-framework entity-framework-4

我的目标是使用实体框架(也许是反射)来创建这样的函数:

public List<MyRows> getTableByName(string tableName)
{
   ObjectQuery objectQuery = (ObjectQuery)getObjectSet(tableName, m_context); // How do you do this part???
   List<MyRows> rows = new List<MyRows>();
   SortByColumn(objectQuery); // I can do this myself.
   MyWhereClauses(objectQuery); // I can do this myself.
   rows = ConvertToMyRows(objectQuery.ToList()); // I can do this myself.
}

“MyRows”类是我发明的,所以我可以添加更多属性。 “ConvertToMyRows”,“MyWhereClauses”和“getObjectset”也是组成函数

在Entity Framework中这种事情是否可行?

如何根据模板T或表名字符串做一种“getObjectSet”类型的函数?

我已经厌倦了编写具有特定功能的数据访问文件,只是为了生成项目列表。

解决:

public IQueryable<T> GetTable<T>() where T : class
{
 var table = m_entities.CreateObjectSet<T>();
 return table;
}

public string MyData<T>() where T: class { var table = GetTable<T>(); //order here }

1 个答案:

答案 0 :(得分:1)

public IQueryable<T> GetTable<T>() where T : class
{
 var table = m_entities.CreateObjectSet<T>();
 return table;
}

public string MyData<T>() where T: class { 

  var table = GetTable<T>(); //order here

 }