我们有一些使用Ormlite/Servicestack构建的服务,我们主要使用带有自定义逻辑的QueryData提取数据库对象和POCOs。
但是,我们有一个表,它实际上不需要在逻辑上进行扩展,并且使用AutoQuery和URL参数直接从前端查询数据库就可以很好地工作。但是,此表包含一个用于跟踪软删除的isDeleted列。前端不应该有任何软删除的项目,我们认为前端不应该能够获得这些记录(即不应该负责使用?&isDeleted=false查询接口)。
因此,考虑到我们当前的设置:
[Route("/query/thing/stuff", HttpMethods.Get)]
public class secret_table: QueryDb<secret_table>
{
}...would可以为QueryDb<>实现一个筛选器,以自动排除记录,其中isDeleted=true?这是否只能应用于这个表/类?
我准备了牛奶和饼干,希望mythz顺道过来,留下一个present...but,当然,如果有任何帮助,我们会很感激!
发布于 2017-08-04 06:21:37
您是否尝试过使用不同的extensibility options之一
您还应该能够使用OrmLite's Select Filter to enable Soft Deletes,例如:
SqlExpression<secret_table>.SelectFilter = q => q.Where(x => x.IsDeleted != true);注意:您的DTO不应重用表的名称作为AutoQuery的名称,请使用不同的名称,如:
[Route("/query/thing/stuff", HttpMethods.Get)]
public class QuerySecretTable: QueryDb<secret_table> {}https://stackoverflow.com/questions/45494993
复制相似问题