2016-10-04 73 views
0

我能做的VAR LST从实体模型LST =从p在myEntity.tblx ---没有问题填充列表<myClass>使用LINQ

,而不是我想去做

List<myClass> lst = from p in myEntity.tblx 

一些地方MyClass的有所有相同的字段tblx

我已经试过

List<myClass> lst = new List<myClass>(); 
lst = (from p in myEntity.tblx).ToList(); 

但是,这并不行。

说myClass的看起来像这样

class myClass 
{ 
    int mainID {get; set;} 
    string fName {get; set;} 
    string lName {get; set;} 
} 

使用LINQ

List<myClass> lst from myEntity.tblx 

我怎么能填充?

+1

当你说它不起作用时,请更具体一些。你会得到什么错误? – Rob

回答

0

你缺少projection部分

使用

lst = (from p in myEntity.tblx select new myClass()){ mainID = p.mainID, fName = p.fname, lName = p.lName}.ToList(); 

lst = myEntity.tblx.select(p => new myClass() { mainID = p.mainID, fName = p.fname, lName = p.lName}).ToList(); 
+0

我实际上已经尝试了这两个建议,甚至在我公开我的类并将这些字段公开后 - 这些特定的方法不起作用 - lst = myEntity.tblx.select(x => x).ToList(); - 应用程序不会编译。错误信息:不能隐式地将类型'System.Collections.Generic.List '转换为'System.Collections.Generic.List ' - 我需要实现IEnumerable还是myClass?我怎么才能使这种方法工作? –

+0

是的,当然你可以根据需要投射课 – usercr

+0

我纠正 - 我没有复制整行代码。是的,这也有效。对不起,回合。 –

2

你尝试象下面这样:

List<myClass> lst = (from p in myEntity.tblx 
       select new myClass() 
       { 
        mainID = p.mainID, 
        fName = p.fname, 
        lName = p.lName 
       }).ToList(); 

希望这有助于!

+0

我其实尝试过这样的事情 - 但是当它不起作用时,我对自己失去了信心。实际的解决办法是我的班级和领域需要公开宣布。当我将公共类添加到类和字段中时,此方法起作用。 –