Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added persisted object injection #118

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open

added persisted object injection #118

wants to merge 1 commit into from

Conversation

tmol
Copy link

@tmol tmol commented Nov 26, 2014

Hi guys,

I am working on an enterprise project where the main entity is very complex, quite few OwnedCollections in other OwnedCollections etc.The first update takes around 10 second using GraphDiff because of loading the entity in the GraphDiffer.Merge method. After the query compilation, the query is cached by EF but only for that specific entity with that specific key, if another entity is updated, the first update takes again 10 seconds.

I extended DbContextExtensions with another method where the already loaded entity can be provided, this way the LoadEntity is skipped and only the Merge happens:

public static T UpdateGraph(this DbContext context, T entity, T persisted, Expression<Func<IUpdateConfiguration, object>> mapping) where T : class

If you will accept the pull request, I will create the necessary unit tests and then notify you for merge.

I think that too many parameters are passed around in the DbContextExtensions UpdateGraph methods overloads, maybe a parameter class would be helpful there.

Cheers,

Tibi

@ghost ghost added the enhancement label Jul 22, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

None yet

1 participant