2012-03-09 112 views
0

我有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) 
{...} 

对不起,如果我犯了什么错误。

+1

什么代码,你到目前为止?那究竟是什么问题? – 2012-03-09 14:15:35

回答

2

如果你使用一个字符串参数设置为代表提起这样:

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

你让我:p,我想做一个动态查询(选择);我添加了System.Data.Linq,并且在nwModel.ExecuteQuery之后仍然不能使用?! – Misi 2012-03-09 14:56:16

+0

这是我在WPF论坛的原始文章:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/0d827ce8-0511-4f8f-9da2-42d478d023fc – Misi 2012-03-09 14:57:43

+0

我的代码工程LINQ(Dbml上下文) ,对于EF尝试:http://msdn.microsoft.com/en-us/library/bb738694.aspx – 2012-03-09 18:32:02

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();