Ari*_*rif 1 linq entity-framework-core asp.net-core
这是我的实体结构:
var course = await Db.Courses.Include(x => x.Tests).FirstOrDefaultAsync(y => y.CourseId == id);
Run Code Online (Sandbox Code Playgroud)
它包括与课程相关的所有子测试。但我想包括状态未删除的所有测试 ( )。为此,我使用了以下代码:IsDeleted = false
var course = await Db.Courses.Include(x => x.Tests.Where(y=>!y.IsDeleted)).FirstOrDefaultAsync(y => y.CourseId == id);
Run Code Online (Sandbox Code Playgroud)
但它并不排除已删除的测试。谁能告诉我如何排除已删除的测试?
我得到了我的解决方案。我通过添加全局过滤器解决了这个问题,如下所示:
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<Test>().HasQueryFilter(p => !p.IsDeleted);
}
Run Code Online (Sandbox Code Playgroud)
详细解释看这里
| 归档时间: |
|
| 查看次数: |
968 次 |
| 最近记录: |