Como: definir relações de dados
Você pode criar, modificar, ou excluir relações entre dados usando o designer de dados em LightSwitch.As relações ajudam você a criar as telas em que os dados relacionados funcionam juntos, por exemplo, uma tela que mostra tanto os clientes quanto seus pedidos.
Este documento contém as seções a seguir:
Adicionando uma relação entre tabelas ou entidades da mesma fonte de dados
Adicionando uma relação entre tabelas ou entidades de fontes de dados separadas
Modificando uma relação
Configurações de multiplicidade
Configurações do comportamento de exclusão
Para um vídeo de demonstração relacionado, consulte Como eu faço para: definir meus dados em um aplicativo do LightSwitch?.
Adicionando um Relacionamento Entre Tabelas ou Entidades da Mesma Fonte de Dados
Você pode usar o designer de dados do LightSwitch para adicionar uma relação entre duas tabelas no banco de dados interno de LightSwitch.Em alguns casos, você também pode usar o designer de dados para adicionar uma relação entre entidades da mesma fonte de dados externa, sujeitas a determinadas restrições.Caso contrário, você deve criar essas relações no servidor e então atualizar a conexão de dados em LightSwitch.Para obter mais informações sobre como atualizar uma conexão a uma fonte de dados, consulte Como: conectar-se aos dados.
Para adicionar uma relação entre tabelas no banco de dados interno do LightSwitch
No Gerenciador de Soluções, clique duas vezes em uma das tabelas que você deseja usar na relação.
No Designer de Dados, na barra de comandos, clique em Relação.
Na caixa de diálogo Adicionar Novo Relacionamento, na linha Nome, selecione as duas tabelas às quais você deseja aplicar um relacionamento, por exemplo, clientes e pedidos.
Na linha Multiplicidade, especifique como deseja que essas tabelas sejam relacionadas.Para obter mais informações sobre a multiplicidade e os tipos de relacionamentos, consulte Configurações de Multiplicidade.
Na linha Comportamento de Exclusão, especifique o que você deseja que seu aplicativo faça se um usuário tentar excluir um registro em uma tabela mas os dados ainda existirem no registro relacionado na outra tabela, por exemplo, se um usuário tentar excluir um cliente mas os pedidos feitos pelo cliente ainda existirem.Para obter mais informações, consulte Configurações do Comportamento de Exclusão.
Na linha Propriedade de Navegação, forneça um nome para cada propriedade de navegação.Propriedades de navegação ajuda os usuários a navegarem entre as áreas de uma tela que exibem dados relacionados.As propriedades de navegação também aparecem como objetos em IntelliSense, e você pode usar esses objetos para construir expressões LINQ no código.
Clique em OK.
Para adicionar uma relação entre tabelas em um banco de dados anexado
No Gerenciador de Soluções, clique duas vezes em uma das tabelas que você deseja usar na relação.
No Designer de Dados, na barra de comandos, clique em Relação.
A caixa de diálogo Adicionar Novo Relacionamento é aberta.
Na coluna Para da linha Nome, escolha a tabela à qual você deseja aplicar uma relação.
A tabela deve conter uma chave primária que será usada no lado primário da relação.
Na linha Multiplicidade, especifique como deseja que essas tabelas sejam relacionadas.
Para obter mais informações, consulte Configurações de Multiplicidade.
Na grade de dados que aparece próxima à parte inferior da caixa de diálogo Adicionar Novo Relacionamento, escolha uma propriedade do lado Estrangeiro do relacionamento.
Esta propriedade deve corresponder ao tipo de dados da propriedade de chave Primária.
Observação Se a tabela contiver uma chave primária composta, todos os tipos de dados de chave estrangeira deverão coincidir.
Observação Para uma relação um-para-muitos ou um zero, a propriedade de chave Estrangeira não pode ser um campo necessário.Para uma relação um-para-muitos, a propriedade de chave Estrangeira deve ser um campo necessário.Para uma relação um-para-um ou zero, os valores de chave primária devem ser usados em ambos os lados da relação.
Escolha o botão OK.
Adicionando uma Relação Entre Tabelas ou Entidades de Fontes de Dados Separadas
Você pode usar o designer de dados do LightSwitch para adicionar uma relação entre tabelas ou entidades de fontes de dados diferentes.Por exemplo, você pode adicionar uma relação entre uma tabela no banco de dados interno do LightSwitch e uma entidade de uma lista do SharePoint.
Para adicionar um relacionamento entre duas tabelas ou entidades de fontes de dados separadas
No Gerenciador de Soluções, clique duas vezes em uma das tabelas ou entidades que você deseja usar na relação.
No Designer de Dados, na barra de comandos, clique em Relação.
Na caixa de diálogo Adicionar Novo Relacionamento, na linha Nome, selecione as tabelas ou entidades às quais você deseja aplicar um relacionamento, por exemplo, Clientes e Pedidos.
Na linha Multiplicidade, especifique como deseja que estas tabelas ou entidades sejam relacionadas.Para obter mais informações sobre a multiplicidade e os tipos de relacionamentos, consulte Configurações de Multiplicidade.
Observação Observe que a linha O Comportamento de Exclusão não está habilitada para esse tipo de relacionamento.
Na linha Propriedade de Navegação, forneça um nome para cada propriedade de navegação.Propriedades de navegação ajuda os usuários a navegarem entre as áreas de uma tela que exibem dados relacionados.As propriedades de navegação também aparecem como objetos em IntelliSense, e você pode usar esses objetos para construir expressões LINQ no código.
Na grade de dados que aparece próxima à parte inferior da caixa de diálogo Adicionar Novo Relacionamento, selecione uma propriedade de uma tabela ou entidade e uma propriedade relacionada na outra tabela ou entidade.Essas propriedades são onde as tabelas ou entidades se vinculam.Por exemplo, selecione a propriedade ID de uma entidade de Cliente e a propriedade IDdoCliente de uma entidade Pedido.
Clique em OK.
Modificando uma Relação
Você pode usar o designer de dados do LightSwitch para modificar ou excluir um relacionamento.
Para alterar um relacionamento existente
No Gerenciador de Soluções, clique duas vezes em uma das entidades ou tabelas que você estiver usando usar na relação.
No Designer de Dados, selecione a propriedade de navegação que representa a relação com outra entidade ou tabela.Por exemplo, uma entidade Cliente pode ter uma propriedade chamada Pedidos que seja usada como uma propriedade de navegação na relação Cliente-Pedidos.
Na janela Propriedades, clique em Editar propriedades de relação.
A caixa de diálogo Editar Relação é aberta.
Para alterar a relação, consulte a seção apropriada neste documento:
Adicionando uma Relação Entre Entidades da Mesma Fonte de Dados.
Adicionando uma Relação Entre Entidades de Fontes de Dados Separadas.
Clique em OK.
Para excluir uma relação
No Gerenciador de Soluções, clique duas vezes em uma das entidades ou tabelas que você estiver usando usar na relação.
No Designer de Dados, clique com o botão direito do mouse na propriedade de navegação que representa a relação com outra entidade ou tabela e então clique em Excluir.
Configurações de Multiplicidade
A tabela a seguir descreve as combinações de configurações de multiplicidade que estão disponíveis em LightSwitch.
Valor de De |
Valor de Para |
Descrição |
---|---|---|
Um |
Zero ou um |
Um “De” pode ter um ou nenhum “Para”, mas um “Para” deve ter um “De”. |
Um |
Muitos |
Um “De” pode ter muitas instâncias “Para”, mas um “Para” deve ter um “De”. |
Zero ou um |
Um |
Um “De” deve ter um “Para”, mas um “Para” pode ter um ou nenhum “De”. |
Zero ou um |
Muitos |
Um “De” pode ter várias instâncias “Para”, e um “Para” pode ter um ou nenhum “De”. |
Muitos |
Um |
Um “De” deve ter um “Para”, mas um “Para” pode ter muitas instâncias “De”. |
Muitos |
Zero ou um |
Um “De” pode ter um ou nenhum “Para”, e um “Para” pode ter várias instâncias “De”. |
Observação |
---|
Você não pode especificar uma relação um-para-um, (zero ou um)-para-(um ou zero) e muitos-para-muitos utilizando o designer de dados do LightSwitch. |
Configurações do Comportamento de Exclusão
A tabela a seguir descreve as opções que você pode definir para controlar o que acontece quando um usuário tenta excluir um registro que é parte de um relacionamento.Algumas opções podem não estar disponíveis para certos tipos de relacionamentos.
Valor de Comportamento de Exclusão |
Descrição |
---|---|
Excluir em cascata |
Quando uma “Table1” for excluída, excluir todas as instâncias “Table2” relacionadas. |
Restrito |
“Table1” não pode ser excluída se houver instâncias “Table2” relacionadas. Por exemplo, selecione Restrito para especificar que um cliente não pode ser excluído se houver pedidos relacionados no banco de dados. |
Desassociar |
Quando “Table1” for excluído, defina a referência para “Table1” em instâncias “Table2” relacionadas como null. |