Visual Studio 2013 e Entity Framework

estou a usar VS 2013 e Sql Svr 2012 e a tentar usar EF para preencher uma grelha. Como este é um teste muito simples, eu tenho apenas uma tabela com uma chave e um par de campos de dados. O processo de criação do modelo parece funcionar bem - ele mostra como esperado na vista do designer, os arquivos são criados em app_code, uma pasta bin é criada com 2 dlls, e o arquivo de configuração é atualizado com uma cadeia de conexão e outras entradas.

quando tento seleccionar a "ligação com o nome" fico com a error "Unable to load the specified metadata resource" and it talks about Reconstruction the project to get the assemblies.

Passei horas a ler outros casos como este e não consigo entender.
  1. Por que isso está acontecendo quando nunca foi um problema com VS 2010

  2. Como posso corrigir a cadeia de conexão para apontar os recursos que deseja. Estou totalmente perdido com todos os conselhos técnicos sobre nomes de montagem totalmente qualificados-nada que eu tentar obra.

  3. Como posso definir algum parâmetro para forçar os recursos a estarem no lugar certo? Todos os conselhos que li não parecem relacionar-se muito bem com VS. 2013

Preciso de decidir se devo desinstalar VS 2013 e usar VS 2012. Atualmente, Eu estou usando VS 2010 com ASP 4.0 e eu gostaria de passar para ASP 4.5 e geralmente acompanhar a tecnologia Microsoft. No entanto, eu não tenho o nível de habilidade para lidar com um lançamento VS que é buggy. Parece-me que este executor de EF pode ser devido a um bug ou a alguma corrupção estranha no meu computador - estou a tentar descobrir qual é o caso. Instalei VS 2013 Express e Sql Svr 2012 em uma máquina limpa que não tinha nenhuma dessas ferramentas no passado.

Gostava muito de ver alguém muito familiarizado com o Visual Studio tentar replicar o meu problema, pois só demora alguns minutos a fazê-lo.
  1. no servidor de MS SQL, criar um pequeno DB com uma tabela que tem uma chave primária e um par de campos de dados e preencher com alguns dados de teste - chamá-lo de TinyDB com TestTable1.

  2. Usando VS 2013 Express para Web, criar um " novo Web Site "com a opção de" ASP Web Site vazio " usando VB.

  3. Adicionar uma pasta de código de aplicações ASP que contenha um "ADO.Net modelo de dados de entidade "e deixar o nome como"modelo".

  4. Gerar o modelo a partir do DB e fazer uma "nova conexão" para "TinyDB"e usar o Entity Framework 6.0 e, em seguida, selecionar "TestTable1". Note a namespace is "TinyDBModel". Clicando em "Terminar" irá gerar vários itens em App_Code, outras pastas e também atualizar web.configuracao.

  5. Adicione um formulário web chamado default.aspx e arraste-lhe uma vista de olhos. No modo de desenho para o gridview, selecione " nova fonte de dados "e, em seguida, a opção" entidade " (nome da nota de EntityDataSource1 que aparece em padrão.aspx). Carregue em Seguinte e em" chamada de ligação "seleccione" TinyDBEntities "- é aqui que o meu obtém o erro " incapaz de carregar o indicado metadata resource".

Note que este exercício exacto em VS 2010 funciona perfeitamente e produz uma grelha com os dados correctos apresentados.

Author: Imar Spaanjaars, 2013-10-26

1 answers

Infelizmente, o controlo do EntityDataSource não funciona com a última versão do Entity Framework, EF6. Espero que o Controle Obtenha uma atualização em uma versão futura de atualização de VS ou EF, mas por agora você não pode usar os dois juntos.

Existem algumas soluções / alternativas:

  1. Volte para EF 5. Para fazer isso, apague o .ficheiros edmx e. tt da pasta App_Code, apagar os conjuntos EF da pasta Bin, e remover as referências à EF da pasta site.configuracao. Em seguida, reconstruir o site, adicionar um novo ADO.NET modelo de entidade e escolha a versão 5 na janela escolha a sua versão. Em seguida, delete os arquivos .tt da pasta App_Code, abra o EDMX diagam, clique com o botão direito de um lugar vazio e na matriz de Propriedades definir a estratégia de Geração de código para o ObjectContext legado. Então reconstrua de novo, e deve funcionar.

  2. Use A Ligação Do Modelo. Esta é realmente a Solução Recomendada. A equipa Microsoft / EF recomenda que as pessoas se mantenham afastadas do EntityDataSource control and only use it for Dynamic Data web sites, Model Binding is the preferred solultion. É muito limpo e direto para a frente para usar, e lhe dá um monte de controle sobre suas consultas e atualizações de objetos. Para mais informações sobre a ligação do modelo, confira: http://www.asp.net/web-forms/tutorials/data-access/model-binding/retrieving-data

 8
Author: Imar Spaanjaars, 2013-10-27 08:16:04