1

我从表中选择了多个列,但我不知道如何将其传递给我的视图。

 var result = (from f in db.firmware
               where f.firmware_release_type_text != "" 
                     || f.firmware_release_type_text != null 
                     || f.firmware_release_number_int != 0
               select new{
                    f.firmware_release_type_text, 
                    f.firmware_release_number_int
               }).Distinct();

结果是 f__anonymous2。我想知道如何在我看来使用它。所有的论坛都刚刚回答了如何选择多个列,但没有人提到如何通过它们。我想我错过了一些明显的东西。

我希望能够使用这些字段,甚至将它们合并为一个字符串。

我已经尝试过 Cast 和许多其他不起作用的选项。

当我尝试强制施放它时,我得到:

Unable to cast the type 'Anonymous type' to type 'System.String'

谢谢

更新:

最后我选择了:

var result = (from f in db.firmware
              where (f.firmware_release_type_text != "") 
                    && (f.firmware_release_type_text != null) 
                    && (f.firmware_release_number_int != 0)
              select  new{
                          f.firmware_release_type_text, 
                          f.firmware_release_number_int
                      }
              ).Distinct();

        List<string> result2 = new List<string>();
        foreach (var item in result)
        {
            result2.Add(item.firmware_release_type_text 
                        + "-" + item.firmware_release_number_int);
        }
4

2 回答 2

0

如果要将数据作为字符串返回,则必须说明应如何格式化。例如,您可以更改此:

select new
{
    f.firmware_release_type_text , f.firmware_release_number_int
}

对此:

select f.firmware_release_type_text + " v" + (int)f.firmware_release_number_int
于 2012-08-23T00:40:08.317 回答
0

您有两个选项可以首先创建模型,然后在服务器端格式化数据。

于 2012-08-23T20:19:17.420 回答