微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

软删除数据但在获取时出现问题 | EF 核心,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 过滤器来过滤软删除数据。

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 举报,一经查实,本站将立刻删除。