2016-10-05 1 views
0

Ich frage mich, ist dies ein schlechtes Konzept der Verwendung linq SQL zu aktualisieren Element in meiner Datenbank, was ich tue ist: Ich ändere den Status meiner ausgewählten Artikel (im Gespräch Aufträge) von 0 auf 1, und es sieht wie folgt aus (aktuelle Code):C# linq to sql - Aktualisierung der Datenbanktabelle

Methode I zu Satz bin Aufruf/ Status meine Position ändern:

OrdersController.SetOrderStatusTrue(orderNumber); 

Methode Code:

public static void SetOrderStatusTrue(int numberOforder) 
{ 
    DataServices.DB.procedure_SetOrderStatus_ToTrue(numberOforder); //procedure which will set status to "1". 
    DataServices.DB.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues,DataServices.DB.Orders.Where(nmbr => nmbr.OrderNumber == numberOforder));   //is this a bad concept to call refresh ? 
} 

Also ich frage mich, ist dieses schlechte Konzept zu rufen Refresh Methode jedes Mal, wenn ich meine Artikelstatus ändern, Vielleicht sollte ich irgendwie anwenden SubmitChanges Methode, könnte mir jemand sagen, welches Konzept ist besser, dieses Konzept auch funktionieren, aber ich lese auf einige Beiträge, die nicht gute Praxis ist, so wie jedes Mal aktualisieren aufzurufen, so ist das wahr und wie sollte es mit SubmitChanges Methode aussehen?

Prost

+0

Das lässt mich vermuten, dass DataServices.DB' ist (oder enthält0 einen langlebigen Datenkontext. * Das * ist die schlechte Praxis hier. Wenn Sie kurzlebige Kontexte verwenden, müssten Sie Refresh nicht. –

+0

@Gert Arnold How Könnte ich kurzlebige Kontexte verwenden und was ist das? –

+1

Erstellen Sie Kontext, verwenden Sie es (um Daten zu lesen, Daten zu speichern, was auch immer), dispose es.Typischerweise würden Sie Kontexte in 'using' Anweisungen verwenden .. –

Antwort

0

Vielleicht in diesem Beitrag einen Blick: Linq to sql submit changes() or .Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, "entity to update")

Grundsätzlich was gesagt ist: Refresh ist so ziemlich nie da in der Regel benötigt man alle durch Entitäten schreibt machen. Dies bedeutet, dass die Entitäten immer auf dem neuesten Stand sind.

Hoffentlich beantwortet dies Ihre Frage.

+0

und wie das aussehen sollte, wenn ich nicht verwenden .Refresh-Methode, sagen wir, ich möchte dies mit der Methode SubmitChanges lösen, wie diese acctualy in diesem Fall aussehen könnte –