如何解决软删除数据但在获取时出现问题 | EF 核心,C#
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 过滤器来过滤软删除数据。
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();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。