Pergunta

Então, eu criei um dbml no meu projeto, que tem três tabelas: Elementos, ElementImages e imagens. Cada registro elemento pode ter vários registros ElementImage e cada um desses registros ElementImage deve ter um registro de imagem. As chaves primárias e estrangeiras estão todos configurados corretamente e as associações são definidas corretamente também. Então por que eu não ver as coleções para cada um dos objetos? Eu esperaria elemento a ter os ElementImages cobrança e ElementImage ter uma propriedade de imagem - Mas nada disso aparece no meu Intellisense. Eu excluídos e recriados os dbml várias vezes, até mesmo em outras tabelas sem sucesso.

Foi útil?

Solução

Eu nunca tive esse problema quando arrastando a partir do painel Server Explorer.

Nós usamos bigint como nosso PK / FK então não posso dizer se Guids são o que está lhe dando problemas. Você pode tentar um teste usando os mesmos passos utilizando bigint / desde que seus PKs para ver se ele funciona para você.

Só tenho alguma vez experimentou isso quando eu pensei que eu iria configurar as chaves estrangeiras na tabela de DB, mas realmente esqueci. Em Server Explorer é difícil dizer em poucas palavras. Se eles estão configurados corretamente você deve ver setas entre suas tabelas na superfície de design. Se você não ver setas imediatamente, eu suspeito que seus FKs não estão configurados corretamente.

Usando o painel de propriedades, você pode modificar a visibilidade das propriedades de associação. Clicando nas setas-se permite que você modifique as propriedades pai / filho com o painel de Propriedades. Eu costumo desativar a propriedade filho, mas você só pode limitar a visibilidade do Parent propriedade para interno. Eu sugiro verificar-los para se certificar de que não está desativado ou tem o seu conjunto de visibilidade menor do que você está esperando.

Outras dicas

Quais são os tipos de campo para os campos de banco de dados? Alguns não são suportados pelo L2S. eles estão aparecendo nas tabelas quando você deixa cair na superfície do dbml?

Uma chave primária faltando em ambos os pais ou tabela filho irá causar este problema.

Se a chave primária existe no banco de dados, mas um campo não é marcado no designer como sendo uma chave primária, basta clicar no campo, bateu propriedades e certifique-se "chave primária" é definido como verdadeiro. Pelo menos um campo na tabela precisa ser marcado antes do desinger criará as associações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top