Laden...

Multithread Variable mittels Entity Framework speichern

Erstellt von BlackMatrix vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.274 Views
B
BlackMatrix Themenstarter:in
218 Beiträge seit 2012
vor 6 Jahren
Multithread Variable mittels Entity Framework speichern

Hi.

Welchen Weg würdet ihr gehen um eine Multithreading Variable, die von vielen Threads beschrieben wird, bestmöglichst in die Datenbank zu schieben?
Ich nutze EF Core + Sqlite und bisher habe ich für so ein Vorhaben immer einen Timer verwendet, der mir alle x ms die aktuelle Variable in die Datenbank schreibt. Aber evtl. gibt es einen geeigneteren Weg? Das Öffnen und schließen eines Kontext bei einer Änderung der Variable scheint mir zu viel Overhead. Ich suche das Pendant zu


                var count = 0;
                Interlocked.Increment(ref count);

für den Datenbank Kontext.

Viele Grüße

C
2.121 Beiträge seit 2010
vor 6 Jahren

Wie oft wird die Variable geändert?
Wie schnell muss sie nach Änderung in der DB stehen? Bzw. wo wird sie sonst benötigt?

Ich glaube von diesen Umständen hängt ab wie man am besten damit umgeht.
Die erste Frage die mich mir stellte war, muss eine so schnell geänderte Variable überhaupt in eine Datenbank. Wenn sie gelesen wird ist sie wahrscheinlich schon nicht mehr aktuell.

16.806 Beiträge seit 2008
vor 6 Jahren

Das kommt auch ganz auf die Anwendung an, Desktop, Web, App... sowie die Art und Weise (Single Instance, Multi Instance, Client Server....).

Und bist Du Dir wirklich sicher, dass Du EF Core (aktuell) verwenden willst?
Hast hoffentlich gut evaluiert.