返回通用列表的函数

时间:2012-03-09 14:12:26

标签: c# wpf linq entity-framework dynamic

我有WPF应用程序项目,我正在使用EF。 我想要这样的东西。

NorthwindEntities nwModel = new NorthwindEntities();
Employees emp;
List mylist = GenericFunc("emp.FirstName"); => returns a List<string>
and
List mylist = GenericFunc("emp.PostalCode"); => returns a List<int>

public static List<T> GenericFunc<T>(string myfield)
{...}

很抱歉,如果我犯了任何错误。

2 个答案:

答案 0 :(得分:5)

你最好使用LINQ代替你的“GenericFunc”,如下所示:

List<string> nameList = (from e in emp select emp.FirstName).ToList();
//and
List<int> postCodeList = (from e in emp select emp.PostalCode).ToList();

答案 1 :(得分:2)

如果使用字符串参数来表示字段,那么:

public static List<T> GenericFunc<T>(string myfield, string TABLENAME)
{
   return nwModel.ExecuteQuery<T>("SELECT " + myfield + " FROM " + TABLENAME).ToList();
}