2 回答

TA贡献1876条经验 获得超7个赞
问题在Expression.NotEqual这里:
var parameter = Expression.Parameter(entity.ClrType, "e");
var body = Expression.NotEqual(
Expression.Call(typeof(EF), nameof(EF.Property), new[] { typeof(DateTime?) }, parameter, Expression.Constant("DeletedAt")),
Expression.Constant(null));
modelBuilder.Entity(entity.ClrType).HasQueryFilter(Expression.Lambda(body, parameter));
当前所做的是设置一个类似于此(伪代码)的全局查询过滤器(即应用于所有查询的附加条件):
e => e.DeletedAt != null
这将返回所有软删除记录(在你的情况下没有),而我想这个想法是返回非软删除记录,即
e => e.DeletedAt == null
所以只需更改Expression.NotEqual为Expression.Equal,问题就会得到解决。

TA贡献1860条经验 获得超9个赞
您需要创建一个查询以从您的上下文中获取特定信息。
使用上下文创建对表的查询。
例如。
var query = context.Students .where(s => s.StudentName == "Bill") .FirstOrDefault<Student>();
查询.tolist()
- 2 回答
- 0 关注
- 189 浏览
添加回答
举报