Laden...

MSSQL & LINQ to SQL - Änderungen in der DB werden erst nach Neustart des Programms angezeigt

Erstellt von deluxe13 vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.174 Views
D
deluxe13 Themenstarter:in
32 Beiträge seit 2018
vor 4 Jahren
MSSQL & LINQ to SQL - Änderungen in der DB werden erst nach Neustart des Programms angezeigt

MSSQL & LINQ to SQL

Wie bring ich LINQ dazu die Datanbank abzugleichen?.
Wenn ich einträge in der Datenbank von einem anderen Programm mache, werden diese iwie erst nach nem Programm neustart angezeigt, aber nicht wenn ich die DB neu lade. Was mache ich falsch?

lg

T
2.219 Beiträge seit 2008
vor 4 Jahren

Das dürfte dein Problem lösen.
Häätest du aber auch ganz einfach bei Google finden können mit "linq2sql refresh"

Link:
DataContext.Refresh Method

T-Virus

Hinweis von gfoidl vor 4 Jahren

Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 3.1

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

6.911 Beiträge seit 2009
vor 4 Jahren

Hallo deluxe13,

Was mache ich falsch?

Dass du dir hier eine Antwort erhoffst, ohne uns etwas über deinen Code zu sagen / zu zeigen 😉

Wir haben keine Ahnung wie deine Anwendung aufgebaut ist und was sie machen soll, daher können wir entweder nur pauschale Antworten geben, die werden dir aber nicht viel weiterhelfen, od. raten und auch das wird dir nicht weiterhelfen.

Also stell dir vor du liest diese Frage ohne zu wissen worum es geht. Was würdest du antworten?

Als pauschale Antwort kann ich hier nur schreiben, dass es i.d.R. keine gute Idee ist beim Programmstart den DB-Kontext zu laden und dann für die dauer der Anwendung offen zu halten, siehe Unit of Work-Pattern.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

D
deluxe13 Themenstarter:in
32 Beiträge seit 2018
vor 4 Jahren

Hast Recht 😃

Habe eine List über Datagrid was über den LinqTOSql abgerufen wird

 var ist = from s in DB.TBL_Musteri
                      select s;
            datagrid.DataSource = ist;

soweit alles gut, nur wenn ich von wo anders die liste aktualisiere, und den obigen befehl nochmal ausführe ändert sich die Tabelle leider nicht. Obwohl am MSsql geändert.

 DB.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues);

das Hilft leider nicht

D
deluxe13 Themenstarter:in
32 Beiträge seit 2018
vor 4 Jahren

ich habs vielen dank
die lösung :

DB.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, DB.TBL_Musteri);
16.807 Beiträge seit 2008
vor 4 Jahren

Grundlegend der Hinweis, dass es i.d.R. keine besonders gute Idee ist, dass sich mehrere Anwendungen eine Datenbank teilen; das ist klassische Legacy-Architektur.
I.d.R. besser ist ein Service, der für die Orchestrierung der Daten zuständig ist - sprich Daten entgegen nehmen und über Änderungen via Push durch Notifications informieren.

D
deluxe13 Themenstarter:in
32 Beiträge seit 2018
vor 4 Jahren

Push hört sich ja Sehr gut an, nur hab ich keine Ahnung wie ich sowas umsetzen kann.