gpt4 book ai didi

c# - EF Core SetQueryFilter 在 OnModelCreating 中将 IsActive 反向为 IsDeleted

转载 作者:行者123 更新时间:2023-12-03 19:07:59 24 4
gpt4 key购买 nike

我在所有表中都使用了 IsActive 列。当它的 false 没有返回时,我在 OnModelCreating 中应用了过滤器。
但我将其更改为 IsDeleted 列,因此当 IsDeleted 为 true 时,DB 不会返回任何内容。
这是我的过滤器代码片段。但问题是当 IsDeleted 为真时,我从数据库获取数据。但是我想当 IsDeleted 为 false 时我会从 DB 获取数据。

var isDeletedProperty = entityType.FindProperty("IsDeleted");
if (isDeletedProperty != null && isDeletedProperty.ClrType == typeof(bool))
{
var parameter = Expression.Parameter(entityType.ClrType, "p");
var filter = Expression.Lambda(Expression.Property(parameter, isDeletedProperty.PropertyInfo), parameter);
entityType.SetQueryFilter(filter);
}

最佳答案

var isDeletedProperty = entityType.FindProperty("IsDeleted");
if (isDeletedProperty != null && isDeletedProperty.ClrType == typeof(bool))
{
var parameter = Expression.Parameter(entityType.ClrType, "p");
var filter = Expression.Lambda(
Expression.Equal(
Expression.Property(parameter, isDeletedProperty.PropertyInfo),
Expression.Constant(false, typeof(bool))
)
, parameter);
entityType.SetQueryFilter(filter);
}

关于c# - EF Core SetQueryFilter 在 OnModelCreating 中将 IsActive 反向为 IsDeleted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63063207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com