none
Erro de Caminho Entity Inválido... RRS feed

  • Pergunta


  • 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 NetoModerator 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)
    segunda-feira, 12 de março de 2012 14:33

Respostas

Todas as Respostas

  • como 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:22
    Moderador
  • 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=&quot;{CONST_CONNECTIONSTRING}&quot;"
          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 15:30
  • 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

    segunda-feira, 12 de março de 2012 16:07
    Moderador