Zde jsou mé návrhy:
-
Pokud jste schopni přidat duplicitní tabulku do databáze, pak je zde řešení. Máte svůj table1 a tabulka2 (Kopie tabulky1 ). Při vkládání nových záznamů do tabulky1 , můžete je porovnat se stávajícími záznamy v tabulce2 a tím najít nové záznamy. Po porovnání byste měli přidat všechny nové záznamy do table2 . Jedná se o určitý druh synchronizace. To lze provést pomocí uloženého procesu nebo programově.
-
Nepotřebujete žádné další stoly. Všechna svá data můžete uložit do mezipaměti aplikace a po určitou dobu (například 5 sekund) zkontrolovat, zda v mezipaměti neexistují nějaké nové události. Pokud neexistují - upozorněte je ve svém protokolu nebo někde jinde a přidejte je do mezipaměti. Pokud je však záznamů příliš mnoho, výrazně se prodlouží doba zpracování + spotřeba paměti.
-
Pokud jste schopni změnit db, můžete do tabulky přidat něco jako sloupec 'isNew'. Když z webu přijdou nová data, sloupec bude 'true', váš program to může sledovat a po zpracování nastavte tento příznak na hodnotu false pro každý záznam. (Pokud web nemůže nastavit tento příznak, můžete použít SQL TRIGGER PO VLOŽENÍ nastavte hodnotu příznaku na true. Web o této funkci ani nemůže vědět, pokud jde o web třetí strany nebo na něm nechcete nic měnit)
-
Zde je článek o sledování změn EF:http://blogs.msdn.com/b/adonet/archive/2009/06/10/poco-in-the-entity-framework-part-3-change-tracking-with- poco.aspx
Problém je však v tom, že byste měli zkontrolovat celou tabulku pro změny prostřednictvím EF, které zasáhnou výkon vaší aplikace.
Zde jsou užitečné informace o sledování a implementaci změn na straně serveru SQL Server:http://www.mssqltips.com/sqlservertip/1819/using-change-tracking-in-sql-server-2008/http://msdn.microsoft. com/en-us/library/bb933994.aspx