Mysql
 sql >> Database >  >> RDS >> Mysql

Artefatto dei metadati di Entity Framework non incorporato quando si usa xbuild e mono

Ho implementato la seguente soluzione alternativa finché mono non incorpora gli artefatti dei metadati di Entity Framework

  1. Passaggio 1:aggiorna la proprietà di elaborazione degli artefatti dei metadati del modello EntityFramework da "Incorpora nell'assembly di output" in "Copia nella directory di output"

Questo copia i file degli artefatti dei metadati nella cartella bin del progetto contenente .edmx(Project1)

  1. Passaggio 2:aggiungere i seguenti eventi di post-compilazione al progetto di riferimento (Progetto2) per copiare i file degli artefatti dei metadati nel relativo cestino. Puoi aggiungerli alla fine del file di progetto .csproj. Sostituisci Progetto1 con il nome del tuo progetto.

    <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. Passaggio 3:aggiorna la stringa di connessione

    da

    <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" />
    

    a

    <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" />