ServiceStack选择投影无法按预期工作

时间:2017-11-16 06:27:27

标签: c# asp.net linq servicestack

ServiceStack选择投影无法按预期工作

这是示例

var q = db.From<Product>()
            .Select<Product>(p=>
                new
                {                     
                    Name = p.Name,
                    Price = p.Price,                     
                    ExtraVATColumn= 5*8
                }
               );
             return db.Select<object>(q);

返回

  

[{&#34;名称&#34;:&#34;图书&#34;&#34;价格&#34;:1103.46&#34; 40&#34; 40}]

而不是

  

[{&#34;名称&#34;:&#34;图书&#34;&#34;价格&#34;:1103.46&#34; ExtraVATColumn&#34; 40}]

在标准的ASP.NET Web Api应用程序中,Linq Select投影按预期工作,但在ServiceStack Api中没有。

有人可以解释一下吗?

1 个答案:

答案 0 :(得分:1)

5*8 = 40

它使用Product属性名称,即 p.Name,p.Price 作为JSON结果中的键。在ExtraVATColumn的情况下,Linq中没有提供属性/变量。因此,值40在序列化时用作键的名称。