我一直在测试ServiceStack自动查询,到目前为止我真的很喜欢。但是,我遇到过一个问题。我的所有服务请求DTO都有一个名为ILoggedRequest的接口的两个属性,它们用于使用IRequestLogger的实现将有关每个请求的信息记录到数据库中。
#region ILoggedRequest
public string Identifier
{
get { return Id.ToString(); }
}
public string RequestClass
{
get { return GetType().Name; }
}
#endregion
当包含这些属性时,由于它们包含值,因此自动查询会尝试搜索它们,但我从请求中得不到任何结果。有没有办法装饰属性,以便自动查询忽略它们?类似的东西:
[QueryIgnore]
public string Identifier
{
get { return Id.ToString(); }
}
答案 0 :(得分:1)
感谢mythz快速回复。您的回复引起了怀疑,我通过将sqlite切换到单元测试中的文件来双重检查我的数据库模式。果然,我的“标识符”列在模式中,因此并不为人所知。我为浪费你的时间而道歉!
对于遇到此问题的其他人,我的“标识符”列未使用[忽略}属性进行标记。我假设,总是一个错误,在使用DropAndCreateTable时,只有一个getter的属性不会被推送到db模式。