2012-04-02 12 views
0

Ich bin in der Lage, die "Get" -Operationen erfolgreich zu verwenden und mehreren Tabellen beizutreten, indem ich bei der Verwendung der Domänen-Serviceklasse konkrete Klassen erstelle. IE:Wie man Updates mit der Domain Service Class anwendet?

public IQueryable<**custom data object type**> GetInvoice 
{ 
     return from i in this.ObjectContext.tablename 
      join o in this.ObjectContext.tablename 
      select new **custom data object type** 
      { 
        Field1 = i.Field1 
        Field2 = i.Field2 
        Field3 = new **custom data object type** 
          { 
           Field1 = o.Field1 
           ... = ... 
          } 
      } 
} 

Diese Get-Operation war erfolgreich. Ich muss wissen, wie Updates von einem "benutzerdefinierten Datenobjekttyp" auf diese einzelnen Entitäten in der Domänen-Serviceklasse angewendet werden können?

Antwort

0

Zunächst einmal erhalten Sie eine Update-Methode in Ihrem Domainservice benötigen:

public void UpdateObject(T currentObj) 
{ 
    this.ObjectContext.Ts.AttachAsModified(currentObj, this.ChangeSet.GetOriginal(currentObj)); 
} 

Zweitens müssen Sie SubmitChanges auf Ihrer Domaincontext Klasse nennen.

+0

Ja, ich verstehe, dass diese Methode beim Erstellen der Domänen-Serviceklasse für Sie generiert wird. Aber in diesem Fall wäre das "currentObj" eine Kombination mehrerer Entitäten. – jammer

+0

@jammer Sie müssen nur eine Aktualisierungsmethode für jeden Entitätstyp bereitstellen, den Sie haben, und der EntityContainer von DomainContext ermittelt alle zugehörigen Objekte, die aktualisiert werden müssen, und ruft die entsprechende Aktualisierungsmethode für sie auf. – Slugart