Share via


tipo de associação

Um tipo de associação (também chamado de associação) é o bloco de construção fundamental para descrever relacionamentos no Modelo de Dados de Entidade (EDM). 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 seguintes informações:

  • Um nome único. (Obrigatório)

  • Duas terminações de associação, uma para cada tipo de entidade na relação. (Obrigatório)

    Nota

    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 auto-relação especificando o mesmo tipo de entidade para cada uma das suas extremidades de associação.

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

Cada extremidade de associação deve especificar uma multiplicidade de extremidade de associação que indique o número de instâncias de tipo de entidade que podem estar em uma extremidade da associação. Uma multiplicidade final de associação pode ter um valor de um (1), zero ou um (0..1), ou muitos (*). As instâncias de tipo de entidade em uma extremidade de uma associação podem ser acessadas por meio de propriedades de navegação ou 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 abaixo mostra um modelo conceitual com duas associações: PublishedBy e WrittenBy. As terminações de associação para a PublishedBy associação são os Book tipos e Publisher entidade. A multiplicidade do fim é um (1) e a multiplicidade do fim é muitos (*), indicando que uma editora PublisherBook publica muitos livros e um livro é publicado por uma editora.

Example model with three entity types

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

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

Consulte também