首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AutoQuery / Ormlite-servicestack:我能过滤掉QueryDb类上的软删除吗?

AutoQuery / Ormlite-servicestack:我能过滤掉QueryDb类上的软删除吗?
EN

Stack Overflow用户
提问于 2017-08-04 05:44:34
回答 1查看 141关注 0票数 1

我们有一些使用Ormlite/Servicestack构建的服务,我们主要使用带有自定义逻辑的QueryData提取数据库对象和POCOs。

但是,我们有一个表,它实际上不需要在逻辑上进行扩展,并且使用AutoQuery和URL参数直接从前端查询数据库就可以很好地工作。但是,此表包含一个用于跟踪软删除的isDeleted列。前端不应该有任何软删除的项目,我们认为前端不应该能够获得这些记录(即不应该负责使用?&isDeleted=false查询接口)。

因此,考虑到我们当前的设置:

代码语言:javascript
复制
[Route("/query/thing/stuff", HttpMethods.Get)]
public class secret_table: QueryDb<secret_table>
{
}

...would可以为QueryDb<>实现一个筛选器,以自动排除记录,其中isDeleted=true?这是否只能应用于这个表/类?

我准备了牛奶和饼干,希望mythz顺道过来,留下一个present...but,当然,如果有任何帮助,我们会很感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-04 06:21:37

您是否尝试过使用不同的extensibility options之一

您还应该能够使用OrmLite's Select Filter to enable Soft Deletes,例如:

代码语言:javascript
复制
SqlExpression<secret_table>.SelectFilter = q => q.Where(x => x.IsDeleted != true);

注意:您的DTO不应重用表的名称作为AutoQuery的名称,请使用不同的名称,如:

代码语言:javascript
复制
[Route("/query/thing/stuff", HttpMethods.Get)]
public class QuerySecretTable: QueryDb<secret_table> {}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45494993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档