ServiceStack自动查询综合字段

时间:2019-03-19 16:44:26

标签: servicestack servicestack-autoquery

在罗斯文(Northwind)示例的客户DTO中,有一个Email字段,该字段是合成的-即它不是来自数据库。此处的代码:https://github.com/ServiceStackApps/Northwind/blob/master/src/Northwind/Northwind.ServiceModel/Types/Customer.cs

但是在正在运行的示例中查看此字段时,此字段不可见: http://northwind.servicestack.net/query/customers

我注意到该DTO具有[DataContract]和[DataMember]批注,而其他大多数示例则没有。

如何将合成字段添加到自动查询中?仅添加一个带伪造的吸气剂会给我一个错误,因为ServiceStack试图从数据库中获取它。是否应使用“忽略”注释?还是最好的方法是将“用于数据库的DTO”和“用于服务的DTO”分开,并以某种方式在它们之间使用AutoMapper?

1 个答案:

答案 0 :(得分:2)

  

是否应该使用“忽略”注释?

确切地说,当您想在序列化中忽略该属性时,请使用[Ignore]忽略该字段在OrmLiteAutoQuery中的使用,而[IgnoreDataMember]则是。 >

Email字段未显示,因为它在[DataMember]类中没有[DataContract]字段,这是ignore fields in Serialization with ServiceStack.Text的方法之一。 / p>