日期:2014-05-20  浏览次数:20981 次

System.Linq.Enumerable.WhereSelectListIterator<MODEL.QueryTable,string>
C# code
public static List<QueryTable> QueryTable
        {
            get
            {
                var x = new List<QueryTable>()
                   {
                        new QueryTable() {Name = "Stretch120End", TableName = "PRO_Stretch120_end"},
                        new QueryTable() {Name = "StoreProduct", TableName = "PRO_Store_Product"},
                        new QueryTable() {Name = "StoreIn", TableName = "PRO_Store_In,PRO_Store_In_Detail"},
                        new QueryTable() {Name = "StoreOut", TableName = "PRO_Store_Out,PRO_Store_OUT_Detail"},
                        new QueryTable() {Name = "Measurement80Insert", TableName = "PRO_measurement80"}
                     };
                return x;
            }
        }


 var arrays = from a in MODEL.Query.QueryTable.AsEnumerable()
                         where a.Name == selectcols//selectcols为传过来的一个值
                         select a.TableName ;

//各位帮我看看哪有问题,为什么arrays 等到的是
//System.Linq.Enumerable.WhereSelectListIterator<CHINAZTT.ZTAM.MODEL.QueryTable,string>




------解决方案--------------------
List<string> arrays = (from a in MODEL.Query.QueryTable
where a.Name == selectcols//selectcols为传过来的一个值
select a.TableName).ToList() ;
------解决方案--------------------
那你想得到什么?
------解决方案--------------------
探讨

引用:

那你想得到什么?
比如 selectcols传过来的是“ StoreOut ”,我就想得到"PRO_Store_Out,PRO_Store_OUT_Detail"

------解决方案--------------------
这是延迟执行,只有在foreach 遍历的时候才赋值,
.ToList()直接赋值
看看这篇文章
http://kb.cnblogs.com/a/2317529/

------解决方案--------------------
select a;
select a.TableName ;

二者唯一不同就是返回值类型,第一个返回整个实体
第二个只返回其中一string类型的属性 TableName