Comments (2)
Yes, this is true. And unfortunately, there is nothing we can do about that. EF caches those objects within the DbContext and once they are there, there is no (easy) way to flush them out. The filtering we are doing applies only the sql statements.
This should only be an issue if you are changing filter values in between queries and then re-using the same DbContext. In that case, you will need to use a different DbContext. And it should only affect included properties/collections because EF populates those references from it's cache AFTER the query is executed (which is why you are probably seeing entities remaining in a child collection that should have been filtered out - they are still in the EF cache). If you query on the child DbSet directly, you will get the correctly filtered results.
from entityframework.dynamicfilters.
Really it only failed my unit tests... in production I do not re-query the
same context for entities I already have. I updated the unit test to
dispose of the dbcontext between the act and assert phases.
Yes, this is true. And unfortunately, there is nothing we can do about
that. EF caches those objects within the DbContext and once they are there,
there is no (easy) way to flush them out. The filtering we are doing
applies only the sql statements.
This should only be an issue if you are changing filter values in between
queries and then re-using the same DbContext. In that case, you will need
to use a different DbContext. And it should only affect included
properties/collections because EF populates those references from it's
cache AFTER the query is executed (which is why you are probably seeing
entities remaining in a child collection that should have been filtered out
- they are still in the EF cache). If you query on the child DbSet
directly, you will get the correctly filtered results.
—
Reply to this email directly or view it on GitHub
#5 (comment)
.
from entityframework.dynamicfilters.
Related Issues (20)
- [Oracle EF 6.2] System.MissingMethodException HOT 1
- Conditional filter not working with EntityFramework6.Npgsql 3.2.1.1 HOT 6
- Support for EF 6.3 and netstandard HOT 7
- Context.Set<T>().Find(keyValues) And Use Context.Filter<Interface>() after, HOT 3
- EntityCommandCompilationException when using .Include() on class with subclass HOT 2
- Entity Framework Dynamic Filters not working in dot net core HOT 3
- Another way to initialize filters besides calling modelBuilder.Filter? HOT 1
- Enum-of-byte is unnecessarily cast to int HOT 6
- IsFilterEnabled returns true for non-existent filter HOT 1
- Cannot use a DBContext property in a condition for a dynamic filter. Value dosen't update after initial execution. HOT 1
- Problem creating Filter HOT 2
- Compatibility issue with bulk operations (Z.EntityFramework.Extensions) HOT 6
- Why filters should come last in the model creation? HOT 11
- Filter with claim HOT 3
- Compile error with package reference HOT 2
- Concurrency error when PreventDisabledFilterConditions is called HOT 4
- Issue with dynamic filter applied on eager loading with many-to-many relationship entities using MySQL
- Issue occur when dynamic filter is applied on eager loading with many-to-many relationship entities for MySQL HOT 8
- Filter decoder HOT 1
- ConcurrentDictionary is breaking my Oracle 11g unit tests HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from entityframework.dynamicfilters.