Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Artefato de metadados do Entity Framework não incorporado ao usar xbuild e mono


Eu implementei a seguinte solução alternativa até que o mono incorpore os artefatos de metadados do Entity Framework
  1. Etapa 1 - Atualize a propriedade Processamento de artefatos de metadados do seu modelo EntityFramework de "Incorporar no conjunto de saída" para "Copiar para Diretório de Saída"



Isso copia os arquivos de artefatos de metadados para a pasta bin do projeto que contém o arquivo .edmx(Project1)

  1. Etapa 2 - Adicione os seguintes eventos de pós-compilação ao projeto de referência (Projeto2) para copiar os arquivos de artefato de metadados para seu bin. Você pode adicioná-los ao final do arquivo de projeto .csproj. Substituir Projeto1 com o nome do seu projeto.
    <PropertyGroup>
       <PostBuildEvent Condition=" '$(OS)' != 'Unix' ">copy /Y   "$(ProjectDir)..\Project1\bin\Debug\Models\*" "$(ProjectDir)\bin\Debug\"  </PostBuildEvent>
       <PostBuildEvent Condition=" '$(OS)' == 'Unix' ">cp -a "$(ProjectDir)../Project1/bin/Debug/Models/." "$(ProjectDir)bin/Debug/"  </PostBuildEvent>
    </PropertyGroup>
    

  2. Passo 3 - Atualize sua string de conexão

    a partir de
    <add name="EntityframeworkTestEntities" connectionString="metadata=res://*/EntityFrameworkTestModel.csdl|res://*/EntityFrameworkTestModel.ssdl|res://*/EntityFrameworkTestModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=EntityframeworkTest;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    

    para
    <add name="EntityframeworkTestEntities" connectionString="metadata=EntityFrameworkTestModel.csdl|EntityFrameworkTestModel.ssdl|EntityFrameworkTestModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=EntityframeworkTest;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />