如何从表中只获得一列?

时间:2014-07-10 10:57:28

标签: c# linq visual-studio-lightswitch

我有一个名为“table_1”的表,其中包含id,col_1,col_2,col_3。 col_1是摘要属性,因此,当我查询“table_1”(通过任何过滤器)时,我得到摘要属性“col_1”汇总的查询结果。

我需要得到相同的结果,但总结为“col_2”,而不是摘要属性。任何人都可以帮助我吗?

这是我的查询代码:

partial void table_1_PreprocessQuery(ref IQueryable<table_1Item> query)
{
    query = (from item in query
    select item.col_2).Execute().Distinct();
}

它不起作用,因为它给我一个这样的例外:

  

“无法隐式转换类型'System.Linq.IQueryable in   System.Linq.IQueryable“

col_2是一种字符串类型。所以我需要查询结果类型是System.Linq.IQueryable<table_1Item>

1 个答案:

答案 0 :(得分:1)

变化

partial void table_1_PreprocessQuery(ref IQueryable<table_1Item> query)
    {
        query = (from item in query
                 select item.col_2).Execute().Distinct();
    }

partial void table_1_PreprocessQuery(ref IQueryable<table_1Item> query)
    {
        query = (IQueryable<table_1Item>)(from item in query
                 select item.col_2).Execute().Distinct();
    }

这将明确投射。