首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

System.Linq.Enumerable.WhereSelectListIterator<MODEL.QueryTable,string>该如何

2013-01-08 
System.Linq.Enumerable.WhereSelectListIteratorMODEL.QueryTable,stringpublic static ListQueryTabl

System.Linq.Enumerable.WhereSelectListIterator<MODEL.QueryTable,string>

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"


那你应该这样:
string arrays = (from a in MODEL.Query.QueryTable
  where a.Name == selectcols//selectcols为传过来的一个值
  select a.TableName).FirstOrDefault() ;
[解决办法]
这是延迟执行,只有在foreach 遍历的时候才赋值,
.ToList()直接赋值
看看这篇文章
http://kb.cnblogs.com/a/2317529/

[解决办法]
   select a;  
    select a.TableName ;

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

热点排行