La evaluación de las restricciones de


Antes de la actualización de la base de datos con los cambios a los objetos, es aconsejable comprobar que el objeto está en un estado válido primera. & nbsp ECO permite modelar las restricciones en contra de sus clases mediante la adición de una lista de expresiones OCL, pero no evalúa las expresiones en cualquier momento.

de hecho, es la responsabilidad de la aplicación para comprobar si es o no un objeto es o no válido, y, a continuación, decidir qué hacer al respecto. & nbsp Uno de los enfoques para comprobar la validez de cada objeto antes de que se guardan, esto puede lograrse en la UpdateDatabase() método de su EcoSpace.

el uso de Borland.Eco.Servicios

...

//Obtener el serviceIDirtyListService
dirtyList =
& nbsp (IDirtyListService) EcoSpace.GetEcoService(typeof(IDirtyListService))

//Proceso de cada objeto modificado
si (dirtyList.HasDirtyObjects)
{
& nbsp foreach (IObject dirtyObject en dirtyList.AllDirtyObjects como IList)
& nbsp {
& nbsp & nbsp & nbsp ...
& nbsp }
}

Ahora que tenemos un método de búsqueda de todos los objetos modificados antes de que se actualizan en la base de datos, sólo tenemos que comprobar las restricciones de cada uno de los objetos y lanzar una excepción si cualquiera de los objetos que están en un estado no válido.

el uso de Borland.Eco.UmlRt
el uso de Borland.Eco.Servicios

...
//Obtener el OCL servicio
IOclService oclService =
& nbsp (IOclService) EcoSpace.GetEcoService(typeof(IOclService))

//Evaluar cada restricción del objeto actual
(Int32 constraintIndex = 0
& nbsp & nbsp constraintIndex <= dirtyObject.UmlType.Las limitaciones.Cuenta
& nbsp constraintIndex )
& nbsp {
& nbsp & nbsp & nbsp IConstraint restricción =
& nbsp & nbsp & nbsp & nbsp & nbsp dirtyObject.UmlType.Restricciones[constraintIndex]
& nbsp & nbsp & nbsp bool isValid =
& nbsp & nbsp & nbsp & nbsp & nbsp (bool) oclService.EvaluateAndSubscribe(dirtyObject,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp restricción.Cuerpo.Cuerpo, null, null).AsObject

& nbsp & nbsp & nbsp si (isValid.AsObject)
& nbsp & nbsp & nbsp & nbsp & nbsp throw new Exception(restricción.Nombre) }
& nbsp }
}

CONSEJO: yo recomendaría el establecimiento de la 'Permitir valores null' propiedad de cada atributo a 'True', incluso que el atributo será necesario. & nbsp Usted puede, a continuación, agregar una restricción a su clase, de modo que un valor nulo se maneja de la misma manera como cualquier otra violación. & nbsp

& nbsp

además, puede cambiar si es o no un atributo es requerido por la modificación de las restricciones, mientras que el AllowNull configuración crea una base de datos de la restricción de que no se agrega/quita por ECO cuando evolucionar su base de datos.









La evaluacion de las restricciones de


La evaluacion de las restricciones de : Multi-millones de consejos para hacer su vida mas facil.


Antes de la actualizacion de la base de datos con los cambios a los objetos, es aconsejable comprobar que el objeto esta en un estado valido primera. & nbsp ECO permite modelar las restricciones en contra de sus clases mediante la adicion de una lista de expresiones OCL, pero no evalua las expresiones en cualquier momento.

de hecho, es la responsabilidad de la aplicacion para comprobar si es o no un objeto es o no valido, y, a continuacion, decidir que hacer al respecto. & nbsp Uno de los enfoques para comprobar la validez de cada objeto antes de que se guardan, esto puede lograrse en la UpdateDatabase() metodo de su EcoSpace.

el uso de Borland.Eco.Servicios

...

//Obtener el serviceIDirtyListService
dirtyList =
& nbsp (IDirtyListService) EcoSpace.GetEcoService(typeof(IDirtyListService))

//Proceso de cada objeto modificado
si (dirtyList.HasDirtyObjects)
{
& nbsp foreach (IObject dirtyObject en dirtyList.AllDirtyObjects como IList)
& nbsp {
& nbsp & nbsp & nbsp ...
& nbsp }
}

Ahora que tenemos un metodo de busqueda de todos los objetos modificados antes de que se actualizan en la base de datos, solo tenemos que comprobar las restricciones de cada uno de los objetos y lanzar una excepcion si cualquiera de los objetos que estan en un estado no valido.

el uso de Borland.Eco.UmlRt
el uso de Borland.Eco.Servicios

...
//Obtener el OCL servicio
IOclService oclService =
& nbsp (IOclService) EcoSpace.GetEcoService(typeof(IOclService))

//Evaluar cada restriccion del objeto actual
(Int32 constraintIndex = 0
& nbsp & nbsp constraintIndex <= dirtyObject.UmlType.Las limitaciones.Cuenta
& nbsp constraintIndex )
& nbsp {
& nbsp & nbsp & nbsp IConstraint restriccion =
& nbsp & nbsp & nbsp & nbsp & nbsp dirtyObject.UmlType.Restricciones[constraintIndex]
& nbsp & nbsp & nbsp bool isValid =
& nbsp & nbsp & nbsp & nbsp & nbsp (bool) oclService.EvaluateAndSubscribe(dirtyObject,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp restriccion.Cuerpo.Cuerpo, null, null).AsObject

& nbsp & nbsp & nbsp si (isValid.AsObject)
& nbsp & nbsp & nbsp & nbsp & nbsp throw new Exception(restriccion.Nombre) }
& nbsp }
}

CONSEJO: yo recomendaria el establecimiento de la 'Permitir valores null' propiedad de cada atributo a 'True', incluso que el atributo sera necesario. & nbsp Usted puede, a continuacion, agregar una restriccion a su clase, de modo que un valor nulo se maneja de la misma manera como cualquier otra violacion. & nbsp

& nbsp

ademas, puede cambiar si es o no un atributo es requerido por la modificacion de las restricciones, mientras que el AllowNull configuracion crea una base de datos de la restriccion de que no se agrega/quita por ECO cuando evolucionar su base de datos.


La evaluación de las restricciones de

La evaluación de las restricciones de : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación