Я использую Ef Core 2.1, в котором я включил фильтр запросов мягкого удаления.
В некоторых случаях я хочу получить от сущности свойство навигации мягкого удаления, но не смог получитьданные (свойство навигации имеет значение null, поскольку оно было мягко удалено).
Я использовал этот doc (который был написан в 2017 году) в качестве ссылки, и указано, что
Фильтры не могут содержать ссылки на свойства навигации.
Я хочу знать, есть ли способ включить такое поведение.
public class Form {
public int Id { get; set; }
public virtual Sprint Sprint {get; set;}
}
public class Sprint: ISoftDeleteable {
public int Id { get; set; }
public string Name {get; set;}
}
// Indicates that every model that implements this interface should use soft delete.
public interface ISoftDeleteable
{
}
// Both statements have returned null.
Sprint sprint = applicationDbContext.Forms.FirstOrDefault(f => f.Id == 1).Sprint;
Sprint sprint = applicationDbContext.Forms.IgnoreQueryFilters().FirstOrDefault(f => f.Id == 1).Sprint;
В качестве примечанияЯ хотел бы заявить, что я использую ленивый загрузочный прокси в StartUp.cs
services.AddDbContext<ApplicationDbContext>(options =>
options.UseLazyLoadingProxies().UseSqlServer(connectionString));
Вместо использования «Include ()» и «ThenInclude ()», потому что моя модель более сложна, чемпример приведен здесь.Использование include сделает код более сложным и не поддерживаемым.