Bewertung von Einschränkungen


Vor dem Aktualisieren der Datenbank mit Änderungen an Ihren Objekten ist es ratsam zu überprüfen, ob das Objekt zunächst in einem gültigen Zustand ist. ECO ermöglicht es Ihnen, Modell Einschränkungen gegen Ihre Klassen durch Hinzufügen einer Liste von OCL Ausdrücken, aber wertet nicht die Ausdrücke zu einem beliebigen Zeitpunkt.

Es ist in der Tat die Verantwortung der Anwendung zu überprüfen, ob ein Objekt gültig oder ungültig ist, und dann entscheiden, was Sie dagegen tun. Ein Ansatz besteht darin die Gueltigkeit der einzelnen Objekte, bevor es gespeichert wird, dies kann in der UpdateDatabase()-Methode des Ihr EcoSpace erreicht werden.

verwenden Borland.Eco.Services;

...

Die ServiceIDirtyListService zu erhalten
DirtyList =
(IDirtyListService) EcoSpace.GetEcoService(typeof(IDirtyListService));

Jeder Prozess geändert Objekt
Wenn (dirtyList.HasDirtyObjects)
{
Foreach (IObject DirtyObject in dirtyList.AllDirtyObjects als IList)
{
...
}
}

Jetzt haben wir eine Methode alle geänderten Objekte zu finden, bevor sie in die Datenbank aktualisiert werden, müssen wir nur check-Einschränkungen der einzelnen Objekte und eine Ausnahme ausgelöst, wenn die Objekte in einem ungültigen Zustand sind.

verwenden Borland.Eco.UmlRt;
verwenden Borland.Eco.Services;

...
OCL-Dienst
IOclService OclService =
(IOclService) EcoSpace.GetEcoService(typeof(IOclService));

Jede Einschränkung des aktuellen Objekts auswerten
für (Int32 ConstraintIndex = 0;
ConstraintIndex < = dirtyObject.UmlType.Constraints.Count;
ConstraintIndex ++)
{
IConstraint Einschränkung =
dirtyObject.UmlType.Constraints[constraintIndex];
Bool IsValid =
(Bool)-oclService.EvaluateAndSubscribe (DirtyObject,
-Einschränkung. Body.Body, null, Null). AsObject;

Wenn (isValid.AsObject)
neue Ausnahme (Einschränkung. Name);}
}
}

Tipp: Ich würde empfehlen, die 'Null zulassen'-Eigenschaft des jedes Attribut auf 'True', auch wenn es das Attribut werden aufgefordert. Dann können Sie eine Einschränkung auf die Klasse hinzufügen, so dass ein null-Wert in der gleichen Weise wie jede andere Verletzung behandelt wird.

Darüber hinaus können Sie ändern, ob ein Attribut durch Ändern der Einschränkungs erforderlich ist, während die AllowNull-Einstellung einer Datenbankeinschränkung, die nicht hinzugefügt schafft/Eco gelöscht wird, wenn Sie Ihre Datenbank entwickeln.









Bewertung von Einschränkungen


Bewertung von Einschränkungen : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Vor dem Aktualisieren der Datenbank mit Änderungen an Ihren Objekten ist es ratsam zu überprüfen, ob das Objekt zunächst in einem gültigen Zustand ist. ECO ermöglicht es Ihnen, Modell Einschränkungen gegen Ihre Klassen durch Hinzufügen einer Liste von OCL Ausdrücken, aber wertet nicht die Ausdrücke zu einem beliebigen Zeitpunkt.

Es ist in der Tat die Verantwortung der Anwendung zu überprüfen, ob ein Objekt gültig oder ungültig ist, und dann entscheiden, was Sie dagegen tun. Ein Ansatz besteht darin die Gueltigkeit der einzelnen Objekte, bevor es gespeichert wird, dies kann in der UpdateDatabase()-Methode des Ihr EcoSpace erreicht werden.

verwenden Borland.Eco.Services;

...

Die ServiceIDirtyListService zu erhalten
DirtyList =
(IDirtyListService) EcoSpace.GetEcoService(typeof(IDirtyListService));

Jeder Prozess geändert Objekt
Wenn (dirtyList.HasDirtyObjects)
{
Foreach (IObject DirtyObject in dirtyList.AllDirtyObjects als IList)
{
...
}
}

Jetzt haben wir eine Methode alle geänderten Objekte zu finden, bevor sie in die Datenbank aktualisiert werden, müssen wir nur check-Einschränkungen der einzelnen Objekte und eine Ausnahme ausgelöst, wenn die Objekte in einem ungültigen Zustand sind.

verwenden Borland.Eco.UmlRt;
verwenden Borland.Eco.Services;

...
OCL-Dienst
IOclService OclService =
(IOclService) EcoSpace.GetEcoService(typeof(IOclService));

Jede Einschränkung des aktuellen Objekts auswerten
für (Int32 ConstraintIndex = 0;
ConstraintIndex < = dirtyObject.UmlType.Constraints.Count;
ConstraintIndex ++)
{
IConstraint Einschränkung =
dirtyObject.UmlType.Constraints[constraintIndex];
Bool IsValid =
(Bool)-oclService.EvaluateAndSubscribe (DirtyObject,
-Einschränkung. Body.Body, null, Null). AsObject;

Wenn (isValid.AsObject)
neue Ausnahme (Einschränkung. Name);}
}
}

Tipp: Ich würde empfehlen, die 'Null zulassen'-Eigenschaft des jedes Attribut auf 'True', auch wenn es das Attribut werden aufgefordert. Dann können Sie eine Einschränkung auf die Klasse hinzufügen, so dass ein null-Wert in der gleichen Weise wie jede andere Verletzung behandelt wird.

Darüber hinaus können Sie ändern, ob ein Attribut durch Ändern der Einschränkungs erforderlich ist, während die AllowNull-Einstellung einer Datenbankeinschränkung, die nicht hinzugefügt schafft/Eco gelöscht wird, wenn Sie Ihre Datenbank entwickeln.


Bewertung von Einschränkungen

Bewertung von Einschränkungen : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Bewertung von Einschränkungen
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung