【发布时间】:2015-08-15 00:36:07
【问题描述】:
我正在处理ServiceStack对AutoQuery的部分响应,代码sn-ps如下:
public class SalesOrderServices : MyService
{
Utilities.RequestUtilities utilities = new Utilities.RequestUtilities();
public object Any(SalesOrdersGet request)
{
String qString = GetSelectString(base.Request);
var q = AutoQuery.CreateQuery(request, Request.GetRequestParams());
if (!qString.IsNullOrEmpty())
{
q.Select(qString);
}
return AutoQuery.Execute(request, q);
}
继承MyService
namespace WombatWS.ServiceInterface.Sales
{
public class MyService : Service
{
public IAutoQuery AutoQuery { get; set; }
public String GetSelectString(IRequest request)
{
String qString = "";
if (!request.QueryString["fields"].IsNullOrEmpty())
{
String sFields = request.QueryString["fields"].ToString();
String[] properties = sFields.Split(',');
foreach (String s in properties)
{
if (!s.Equals(properties.Last().ToString()))
{
qString += s + ",";
}
else
{
qString += s;
}
}
}
return qString;
}
}
}
我注意到,除了我放入 ?field={field1},{field2}... 的有趣字段之外,不需要的 DateTime 将按原样返回,以及所有 int、GUID 类型也将返回为 0、0000-000000000-0000-00000 之类的东西.如何摆脱它们?谢谢。
【问题讨论】:
标签: c# servicestack