Além da resposta aceita, deve-se notar que a mesma exceção (
Every derived table must have its own alias
) será lançado se você tentar salvar as alterações no banco de dados em uma tabela que não tenha chave primária. Este é um bug conhecido que ainda não foi corrigido depois de anos (apareceu no MySQL 5.5.22 + .Net/Connector 6.5.4 em 04/04/12).
Eu sei que não é uma boa ideia ter uma tabela sem chave primária, mas como existe outro bug no gerador de DDL, algumas tabelas onde a chave de entidade associada tem a propriedade
StoreGeneratedPattern
definido como None
são criados sem chave primária...