I was using IsActive column in my all tables. When its false nothing return I applied filter in OnModelCreating.
But I changed it to IsDeleted column so when IsDeleted is true nothing will return from DB.
Here is my code snippet for filter. But the problem is when IsDeleted is true I'm getting my data from DB. But I want to when IsDeleted is false I'll get data from 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);
}