entity-framework - 在 EFCore 中关闭全局过滤器警告
问题描述
我对我的一个实体有一个过滤器
entity.HasQueryFilter(x => !x.IsDeleted);
我在日志中不断收到以下警告,我想关闭这些警告
实体 '"Event"' 定义了一个全局查询过滤器,并且是与实体 '"EventCategory"' 的关系的必需端。当所需的实体被过滤掉时,这可能会导致意外的结果。将导航配置为可选,或者为导航中的两个实体定义匹配的查询过滤器。有关详细信息,请参阅https://go.microsoft.com/fwlink/?linkid=2131316。
解决方案
如果您确定您的实体配置是正确的并且想要关闭该特定警告,您可以使用该DbContextOptionsBuilder.ConfigureWarnings
方法。
假设您注册DbContext
using IServiceCollection
:
using Microsoft.EntityFrameworkCore.Diagnostics;
services.AddDbContext<MyDbContext>(options =>
{
// Other configuration here...
options.ConfigureWarnings(builder =>
{
builder.Ignore(CoreEventId.PossibleIncorrectRequiredNavigationWithQueryFilterInteractionWarning);
});
});
请注意,这将使所有此类警告静音。
推荐阅读
- python - 使用 Seaborn 绘制条形图
- powerbi - Power BI 查询按顺序运行
- javascript - NODE.JS - 检查对象中是否有意外字段
- html - 动画后接收指针事件的链接在 Safari 中不可点击
- javascript - 访问从服务器端(Node.js)的 Swift 客户端发送的 HTTP 请求的正文?
- java - spring 从 xml 文件中获取 bean 时出错
- php - 我正在尝试从客户默认来源获取卡号的最后 4 位数字
- java - 如何通过他们实现的接口找到实例?
- python-3.x - 在 Python 中获取 Windows 计量连接状态
- functional-programming - OCaml 错误:评估期间的堆栈溢出(循环递归?)