tipo de associação

Um tipo de associação (também chamado de associação) é o bloco de construção fundamental para descrever relações no EDM (Modelo de Dados de Entidade). Em um modelo conceitual, uma associação representa uma relação entre dois tipos de entidade (como Customer e Order). Em um aplicativo, uma instância de uma associação representa uma associação específica (como uma associação entre uma instância de Customer e uma instância de Order). As instâncias de associação são agrupadas logicamente em um conjunto de associações.

Uma definição de associação contém as informações a seguir:

  • Um nome exclusivo. (Obrigatória)

  • Duas extremidades de associação, uma para cada tipo de entidade na relação. (Obrigatória)

    Observação

    Uma associação não pode representar uma relação entre mais de dois tipos de entidade. Uma associação pode, no entanto, definir uma dica relação especificando o mesmo tipo de entidade para cada um das extremidades de associação.

  • Uma restrição de integridade referencial. (Opcional)

Cada extremidade de associação precisa especificar uma multiplicidade de extremidades de associação que indica o número de instâncias de tipo de entidade que podem estar nessa extremidade. Uma multiplicidade de extremidades de associação pode ter um valor igual a um (1), a zero ou a um (0..1) ou a muitos (*). As entidades de tipo de entidade em uma extremidade de uma associação podem ser acessadas por meio de propriedades de navegação ou de chaves estrangeiras se forem expostas em um tipo de entidade. Para obter mais informações, consulte Modelo de Dados de Entidade: chaves estrangeiras.

Exemplo

O diagrama a seguir mostra um modelo conceitual com duas associações: PublishedBy e WrittenBy. Terminar a associação para associação de PublishedBy são os tipos de entidade de Book e de Publisher . A multiplicidade do final de Publisher é um (1) e a multiplicidade do final de Book é muitas (*), indicando que publica um editor muitos livros e um livro é publicado por um editor.

Example model with three entity types

O Entity Framework do ADO.NET usa uma DSL (linguagem específica de domínio) chamada CSDL (linguagem de definição de esquema conceitual) para definir modelos conceituais. CSDL seguir define a associação de PublishedBy mostrada no diagrama anterior:

<Association Name="PublishedBy">
      <End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
      <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
    </Association>

Confira também