Pergunta

Preciso usar tabelas de um banco de dados que não posso alterar (usando o servidor vinculado). Portanto, parte do meu esquema é uma visão nessas tabela e não posso criar um FK no meu banco de dados.

Quando chego à criação da associação no ADO.NET Entity Framework, estou recebendo problemas porque uma segunda coluna na tabela do banco de dados externa tem um índice e a EF está criando uma chave de entidade para ele (é o nome descrd do Registro - acho que eles só queriam acelerar a ordem).

Quando retiro a chave da entidade desta coluna na entidade EF, ela reclama que eu preciso, porque a tabela subjacente tem uma chave nela. Se eu deixar isso, não posso mapeá -lo em nada no mapeamento da tabela de EF.

Alguém sabe o que devo fazer, por favor?

Foi útil?

Solução

Você precisará editar o XML e remover a coluna da chave. Encontre ou003CEntityType> tag nou003Cedmx:StorageModels> Seção (conteúdo SSDL). Exclua qualqueru003CPropertyRef> nou003CKey> Na verdade, isso não faz parte da chave primária.

Depois de fazer isso, você pode definir a "chave da entidade" na propriedade escalar correspondente no designer como false, e a EF não ficará brava. Você também não será solicitado a mapear esta coluna em associações.

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