Erro de Caminho Entity Inválido...
-
segunda-feira, 12 de março de 2012 14:33
Olá pessoal. Estou prescisando de uma ajuda aqui...
Estou com o seguinte erro na aplicação...
The specified metadata path is not valid. A valid path must be either an existing directory, an existing file with extension '.csdl', '.ssdl', or '.msl', or a URI that identifies an embedded resource.
Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.
Detalhes da Exceção: System.Data.MetadataException: The specified metadata path is not valid. A valid path must be either an existing directory, an existing file with extension '.csdl', '.ssdl', or '.msl', or a URI that identifies an embedded resource.
Erro de Origem:
Exceção não tratada foi gerada durante a execução da atual solicitação da Web. As informações relacionadas à origem e ao local da exceção podem ser identificadas usando-se o rastreamento de pilha de exceção abaixo.
Rastreamento de Pilha:
[MetadataException: The specified metadata path is not valid. A valid path must be either an existing directory, an existing file with extension '.csdl', '.ssdl', or '.msl', or a URI that identifies an embedded resource.] System.Data.Metadata.Edm.MetadataArtifactLoader.Create(String path, ExtensionCheck extensionCheck, String validExtension, ICollection`1 uriRegistry, MetadataArtifactAssemblyResolver resolver) +3660602 System.Data.EntityClient.EntityConnection.SplitPaths(String paths) +659 System.Data.EntityClient.EntityConnection.GetMetadataWorkspace(Boolean initializeAllCollections) +148 System.Data.Objects.ObjectContext.RetrieveMetadataWorkspaceFromConnection() +26 System.Data.Objects.ObjectContext..ctor(EntityConnection connection, Boolean isConnectionConstructor) +172 System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName) +27 RatingModel.RatingEntities..ctor(String connectionString) +10 TabelaRatingCrud.Page_Load(Object sender, EventArgs e) +351 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +50 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
Agradeço a ajuda de vcs desde já...
- Movido Olavo Oliveira NetoMicrosoft Community Contributor, Moderator segunda-feira, 12 de março de 2012 15:22 Estou movendo sua questão para o fórum especifico de LINQ (De:.NET Development - Geral)
Todas as Respostas
-
segunda-feira, 12 de março de 2012 15:22Moderadorcomo você está passando a string de conexão para o seu objeto de contexto ? e como está a string de conexão ?
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Twitter @Olavooneto
Se for útil marque como resposta e faça um Developer feliz :) -
segunda-feira, 12 de março de 2012 15:30
Bom no Web.Config esta Assim:
add name="App_Code.RatingBDModelConnectionString" connectionString="metadata=~/App_Code/RatingBDModel.csdl|~/App_Code/RatingBDModel.ssdl|~/App_Code/RatingBDModel.msl;provider=Devart.Data.Oracle;provider connection string="{CONST_CONNECTIONSTRING}""
providerName="System.Data.EntityClient" />
<add name="App_Code.ClientesModelConnectionString" connectionString="metadata=~/App_Code/ClientesModel.csdl|~/App_Code/ClientesModel.ssdl|~/App_Code/ClientesModel.msl;provider=Devart.Data.Oracle;provider connection string="{CONST_CONNECTIONSTRING}""
providerName="System.Data.EntityClient" />Ah esqueci de mencionar que o projeto esta rodando local perfeitamente...
Ess erro ocorre quande é publicado.... Imaginei que como o App_Code não vai na publicação ele não esta encontrando o caminho...
Pode ser que esteja errado a referência no Web.Config..
valeu...
-
segunda-feira, 12 de março de 2012 16:07Moderador
Olá William,
Provavelmente o problema esta na questão da pasta App_Code não ter sido levada junto.
Vc pode copiar os arquivos .csdl, .ssdl e .msl para o diretório que vc achar melhor e alterar sua connection string.
Veja este exemplo: http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/e2d6f829-0703-47cc-b23a-25f563c25712/
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique- Sugerido como Resposta AndreAlvesLimaMVP, Moderator segunda-feira, 12 de março de 2012 20:02
- Marcado como Resposta AndreAlvesLimaMVP, Moderator quarta-feira, 18 de abril de 2012 20:26

