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中没有。
有人可以解释一下吗?
答案 0 :(得分:1)
5*8 = 40
它使用Product
属性名称,即 p.Name,p.Price 作为JSON结果中的键。在ExtraVATColumn
的情况下,Linq中没有提供属性/变量。因此,值40
在序列化时用作键的名称。