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>
那你应该这样:
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