我的目标是使用实体框架(也许是反射)来创建这样的函数:
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 }
答案 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
}