c# - 软删除数据但在获取时出现问题 | EF 核心,C#
问题描述
我有一个问题,我有 2 张桌子。如下。
public class Campaign
{
public int CampaignId { get; set; }
public string CampaignTitle { get; set; }
public string CampaignObjective { get; set; }
public int CurrencyId { get; set; }
public Currency Currency { get; set; }
public bool IsDeleted {get; set;}
}
public class Currency
{
public int CurrencyId { get; set; }
public string CurrencyTitle { get; set; }
public bool IsDeleted {get; set;}
}
我正在使用 GlobalQuery Filters 过滤掉软删除的数据。
entityConfiguration.HasQueryFilter(x => x.IsDeleted == false);
我正在使用以下查询
return await _context.Campaigns.Include(x => x.Currency).FirstOrDefaultAsync();
上述查询的最佳方法是什么,以获取相关数据(已删除并且也需要;在这种情况下为货币)
对于最终用户数据被删除,如果我获取并显示,它将混淆用户,如果我不获取并传递 Campaign.CurrencyId=null 则模型级别错误( CurrencyId != null )
任何帮助将不胜感激,我已经搜索但找不到解决方案或更好的方法。
解决方案
必须有某种解决方案,IgnoreQueryFilters
例如:
return await _context.Campaigns.IgnoreQueryFilters().Include(x => x.Currency).FirstOrDefaultAsync();
推荐阅读
- python - mypy 无法识别 Dictionary of Dictionary
- database - 如何将嵌入的文档值移动到 MongoDB 中的主文档?
- node.js - 为什么我不能在 Windows 上运行 react-native 应用程序
- makefile - 为什么 Make 更喜欢隐式规则而不是 Makefile 中列出的规则?
- excel - 来自 XLSM 的代码不适用于其他工作簿。我该如何解决?
- cucumber - 如何将链接(html)添加到功能描述中?
- pinterest - Pinterest API - 用户随机固定 API 端点不返回数据
- python - spaCy错位实体
- c++ - 如何禁用客户端 GRPC 服务器证书主机名验证?
- c# - Web 服务代理中的自定义标头