Click here to Skip to main content
12,760,849 members (35,654 online)
Rate this:
Please Sign up or sign in to vote.
See more: C# entity-framework

I have an entity Task with a property Progress (int 0..100).
The task table is updated directly by another application (with another language).

I would like to make a auto refresh which raise notifypropertychanged on my entity Task.

I tried to used context.refresh(storewin, object) with a background worker but it raises notifypropertychanged every time (even if no property has changed => pure reload).
And i dont want to query in loop, (only if there's no solution).

Any suggestion please?

Posted 14-Feb-13 5:46am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

Entity Framework doesn't support SQL Notifications, so using a entirely EF objects and methods leaves you no choice but to poll for the data. This also means that, yes, the NotifyPropertyChanged event will fire every single time even though the value doesn't change. That's because the value DOES change internally. The ojbect EF is tracking gets dropped and recreated from the backing store data, so the value changes from null or 0 to whatever was returned from the database.

The other option is to go outside EF and query the table directly or use SQL Server Notification Services and subscribe to that.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

    Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Mobile
Web02 | 2.8.170217.1 | Last Updated 14 Feb 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100