In meiner Datenbank ASP.NET MVC 4/EF 5-Webanwendung habe ich eine Tabelle mit einer Kommentarspalte, die ich neue Kommentare erstellen möchte. In der traditionellen T-SQL, schreibe ich würde: Wie veranlasse ich EF, Update SQL mit String Concat zu erstellen?
UPDATE MyTable SET Comments = 'Hi' + CHAR(13)+CHAR(10) + Comments WHERE ID = 2
ich mit der Methode Linq finden für EF (UOW + Repository-Muster - was ich bedauere), habe ich den aktuellen Wert der Kommentare und prepend Abfrage zuerst meine neuen Kommentare dazu:
Gibt es eine Möglichkeit, dieses Update zu schreiben, ohne die DB abfragen zu müssen? Ich möchte EF irgendwie dazu bringen, das obige t-sql zu generieren. Die Kommentare können langwierig sein und mir ist es egal, was es enthält. Leistung ist ein Anliegen.
Vielen Dank im Voraus.
ich hinzufügen, das hier als Kommentar, denn es ist keine Antwort: Sie haben Recht zu wissen, was EF tun kann und wie man TU es. Wenn Sie jedoch etwas tun müssen, das von EF nicht unterstützt wird, müssen Sie keine Energie verschwenden, um dies zu erreichen. Sie können einfach eine benutzerdefinierte Abfrage oder eine gespeicherte Prozedur ausführen, um Ihr Problem zu lösen. Es kann weniger schlau aussehen, aber ich glaube nicht, dass es so ist. Es gibt viele Dinge, die EF nicht tun kann, aber * du darfst * Dinge auf andere Weise tun, anstatt zu versuchen, magische oder hacky Lösungen für dein Problem zu implementieren. Dasselbe Problem tritt bei Massenaktualisierungen oder -löschungen auf. Die Lösung ist einfach – JotaBe
Danke für das sagen @JotaBe - Ich habe versucht, innerhalb der Linien zu bleiben, aber manchmal ist das nicht die beste Lösung. – LoJo
@LoJo du sagtest *** Ich möchte EF irgendwie dazu bringen, das t-sql oben zu erzeugen *** - deshalb wurde deine Frage auf *** 5 *** gepackt (zu der Zeit, als ich das geschrieben habe). Ansonsten ist es nur eine normale Anforderung, nichts Besonderes und sogar keine Antwort muss hinzugefügt werden. Du hättest das mit einem Kommentar verstehen sollen und die Frage sofort gelöscht. – Hopeless