I'm using EntityFramework.Filters package in order to set some defaults and dynamics filters to my entities. It's working well, but Q: when I dynamically set a new filter parameter it's being ignored keeping the first value set.
In debug mode CultureHelper.GetCurrentCulture().Key is properly returning the new culture set, the filter parameter is being set, but nothing happens.
Code
public partial class DataModel : DbContext
{
public DataModel() : base("name=DataModel")
{
var currentLanguageId = CultureHelper.GetCurrentCulture().Key;
this.EnableFilter("HideDeleted");
this.EnableFilter("CurrentLanguage").SetParameter("currentLanguageId", currentLanguageId);
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
DbInterception.Add(new FilterInterceptor());
modelBuilder
.Conventions
.Add(
FilterConvention.Create<IDeleted, int>("HideDeleted", (e, Deleted) => e.Deleted == false),
FilterConvention.Create<ILanguage, long>("CurrentLanguage", (e, currentLanguageId) => e.LanguageId == currentLanguageId)
);
}
}
currentLanguageIdstatic variable and use it instead of passing?CultureHelper.GetCurrentCulture()?public static KeyValuePair<long, string> GetCurrentCulture() { var currentCultureCode = Thread.CurrentThread.CurrentCulture.Name; var currentCulture = _cultures.Where(c => c.Value == currentCultureCode).FirstOrDefault(); return currentCulture; }_culturescould forceModelCreation?