
mal">ECOSpace através da propriedade EcoSpaceType. Adicione no formulário o User Control da aplicação. Vamos adicionar agora um ExpressionHandle, da aba Enterprise Core Objects da Tool Palette, e o renomeie para “exphCategoria”.
Através de um ExpressionHandle podemos obter o ECOSpace de determinados objetos e de determinadas classes. Alterando a propriedade RootHandle para o objeto RootHandle constante da página, ligamos o exphCategoria ao ECOSpace.
Compile o projeto. Para definir que objetos e classes serão retornados, utilizamos uma expressão OCL que será especificada na propriedade Expression. Clicando no botão existente na propriedade, o editor OCL é exibido, conforme a Figura 1.

Figura 1. Editor OCL do ExpressionHandle
Veja que editor já exibe as classes presentes no modelo. Dê um duplo clique sobre Categoria. Será habilitada uma lista de expressões que podem ser aplicadas à classe. Dessa lista, escolha allInstances dando um duplo clique sobre ela e pressione o botão OK (Figura 2).

Figura 2. Lista de expressões OCL
Adicione ao formulário um DataGrid e escolha um visual para ele (através da opção AutoFormat, presente no Object Inspector). Através desse controle, vamos adicionar, editar e excluir as categorias dos produtos.
Diferentemente de uma aplicação Windows Forms, um DataGrid para ASP.NET exige a existência de um campo chave para que seja possível editar uma linha da lista de objetos.
Em uma aplicação ECO, essa chave é representada através da propriedade ExternalID que identifica de forma única um objeto dentro do ECOSpace, seria algo similar a uma chave primária, que no caso do ECO é aplicada à toda coleção de objetos e não apenas uma determinada classe.
Por padrão a propriedade ExternalID é desabilitada para uso externo, permanecendo oculta durante o tempo de projeto e sendo utilizada apenas internamente pelo framework. Nesse exemplo, como precisamos dela, podemos habilitar sua utilização.
Nas propriedades do exphCategoria veja que existe uma chamada ...