Click here to Skip to main content
11,578,954 members (65,007 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# entity
Hello,

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?

Thanks
Posted 14-Feb-13 4:46am

1 solution

Rate this: bad
good
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.
  Permalink  

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

  Print Answers RSS
0 Peter Leow 135
1 Frankie-C 115
2 OriginalGriff 113
3 Richard MacCutchan 85
4 Afzaal Ahmad Zeeshan 85
0 OriginalGriff 933
1 Sergey Alexandrovich Kryukov 740
2 Abhinav S 573
3 F-ES Sitecore 420
4 Dave Kreskowiak 419


Advertise | Privacy | Mobile
Web03 | 2.8.150603.1 | Last Updated 14 Feb 2013
Copyright © CodeProject, 1999-2015
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