c# - 如何将有关本地评估表达式的 EF Core 警告转换为错误?
问题描述
是否可以将有关本地评估表达式的 Entity Framework Core 警告转换为错误?我想强迫自己始终编写正确评估的查询。
Microsoft.EntityFrameworkCore.Query:警告:无法翻译 LINQ 表达式“(...)”,将在本地进行评估。
解决方案
我想强迫自己始终编写正确评估的查询。
听起来是一个好主意。此外,客户端评估的想法已被认为是错误的,将在 EF Core 3.0+ 中删除,所以做好准备是件好事 :)
要在 3.0 之前获得所需的行为,您应该使用ConfigureWarnings扩展方法将默认操作从 更改Log
为Throw
,如可选行为:为客户端评估文档主题引发异常中所述:
optionsBuilder.ConfigureWarnings(warnings => warnings
.Throw(RelationalEventId.QueryClientEvaluationWarning)
);
此外,最好对Ignored includes做同样的事情,这是意外问题的另一个来源:
.Throw(RelationalEventId.QueryClientEvaluationWarning)
.Throw(CoreEventId.IncludeIgnoredWarning)
推荐阅读
- junit - 有序启动和等待容器
- java - 运行 sprint boot 应用程序时如何从依赖 jar 中排除文件?
- android - 获取 503 服务不可用 - Firebase 远程配置
- android - Android Studio 更新到 3.3 后的奇怪 XML 格式。如何获取 xml 的 android 样式格式?
- eclipse - 如何在eclipse中安装jasmine
- javascript - Node.js 中的 Tobi 示例
- rest - REST批量删除多个项目
- python - Beautifultable 的输出非常杂乱无章
- python - Pip Install 不断将库安装到 Python2.7 而不是 Python3
- python - 当 seaborn 绘制由列表组成的数据框时,pandas 返回 DataError