Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#9

AW: Best Practice: Import von XML => SQL-DB und Ändern

  Alt 11. Dez 2012, 15:58
Offtopic, aber was soll's:
NHibernate erlaubt Updates/Deletes in HQL, also gegen deine Mappings, nicht direkt gegen die DB-Struktur.
Wennu gerne alle Hans' mit Nachnamen Meyer oder Schulz umbenennen willst ginge das so:

Code:
class Trööt
{
   public virtual string FirstName{get;set;}
   public virtual string LastName{get;set;}
}
Code:
session.CreateQuery("update Trööt set FirstName = 'Egon' where FirstName = 'Hans' and LastName in (:s, :m)")
       .SetParameter("s", "Schulz")
       .SetParameter("m", "Meyer")
       .ExecuteUpdate();
Bei RDBMS', die Batches verstehen, wird es auch sehr viele Objekt-Änderungen in einem Rountrip abschicken können.
Hassu also lauter neue geänderte Objekte, die du wieder zurückschreibst, ist die Anzahl der Calls zur DB nur durch die max. Zahl von Parametern beschränkt (IMO 2000 für MSSQL).
Bei Oracle wird dann Array/Bulk DML benutzt, was *brutal* schnell ist.


Zum Thema:
Das ist mir hier irgendwo unterm Radar durchgeflogen...
Wenn dich dazu (auch wenn's vllt zu spät ist) mehr Details interessieren, könntest du vllt irgendein Beispiel aus den Fingern saugen.
Und ich könnte dir zeigen, wie man das mit XLinq, XSD, und dem ORM deiner Wahl löst.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”

Geändert von Elvis (11. Dez 2012 um 21:47 Uhr)
  Mit Zitat antworten Zitat