Framework de entidade ADO Criando chave de entidade indesejada
-
10-07-2019 - |
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?
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.