Esta é uma dica pra resolver possíveis problemas que você pode encontrar.
No meu caso, estou usando o Entity Framework 4.0 com Visual Studio 2010 e o SQL Server 2008 R2 Express, mas claro não serve apenas para estas versões que estou mencionando.
Outra informação relevante é que eu não estou usando o método code first.
Mensagem de erro:
Unable to update the EntitySet 'Category' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.
Imagen do erro:

O erro ocorre quando tentamos incluir uma simples entity e vamos executar o SaveChanges() em seguida Puff! “Explode o planeta.” 
Resolvendo o problema.
Simplesmente esteja atento(a) [melhor colocar desta forma, ja que o Ninja Code vem recebendo acessos de muitas mulheres também
].
Retomando a idéia, verifique se você tem PK (Primary Key) setada para a sua tabela, se não tiver informe quem é a PK.
Apenas pra mostrar como setar a PK para nossa tabela.

Agora pra que funcione 100%, atualize seu modelo .edmx para que a propriedade ( campo que é PK ) seja marcada como Entity Key true.
Voilá! Rode seu applicativo e verifique se funciona. Aqui funcionou!
Até a próxima.
Sayonara!
Jesus respondeu, e disse-lhe: Se alguém me ama, guardará a minha palavra, e meu Pai o amará, e viremos para ele, e faremos nele morada. (João 14:23)
Tags: Visual Studio, Visual Studio 2010, Entity Framework, EntitySet, c#, C#4.0, csharp, ModificationFunctionMapping, UpdateException