Mysql
 sql >> Base de données >  >> RDS >> Mysql

Artefact de métadonnées Entity Framework non intégré lors de l'utilisation de xbuild et mono

J'ai implémenté la solution de contournement suivante jusqu'à ce que mono intègre les artefacts de métadonnées Entity Framework

  1. Étape 1 :Mettez à jour la propriété de traitement des artefacts de métadonnées de votre modèle EntityFramework à partir de " Intégrer dans l'assemblage de sortie" à "Copier dans le répertoire de sortie"

Cela copie les fichiers d'artefact de métadonnées dans le dossier bin du projet contenant le .edmx(Project1)

  1. Étape 2 - Ajoutez les événements de post-construction suivants au projet de référence (Project2) pour copier les fichiers d'artefact de métadonnées dans son bac. Vous pouvez les ajouter à la fin du fichier de projet .csproj. Remplacer Projet1 avec le nom de votre projet.

    <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. Étape 3 - Mettez à jour votre chaîne de connexion

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

    à

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