Question

Actuellement, nous utilisons Visual Studio 2012, EF 5.0 et NPGSQL 2.0.12.0.

J'aimerais passer à Visual Studio 2013 et NPGSQL 2.0.14.3 (je vais bien avec EF 5.0 pour l'instant).

Actuellement, nous utilisons l'assistant "Mettre à jour le modèle" qui apporte des modifications dans le schéma et les nourrit dans le fichier EDMX qui est visualisé dans le concepteur VS. Nous faisons cela en suivant la procédure gênante de l'utilisation de DDX dans NPGSQL.Provider2 et de commencer l'instance "expérimentale" Visual Studio.

Mais cela ne fonctionne plus dans Visual Studio 2013 (après avoir mis à jour les entrées de registre générées). En outre, cela ne fonctionne pas si je change, il DBProvider vers NPGSQL 2.0.14.3 dans la machine.config.

Il serait exceptionnel si quelqu'un pouvait me dire s'ils ont obtenu cela pour travailler et comment.

Une alternative temporaire, j'envisage de mettre à jour le fichier EDMX du schéma à l'aide d'EDMGEN.EXE. Jusqu'à présent, j'ai été en mesure de générer des fichiers .csdl, .ssdl et .mdl, mais je ne trouve pas un moyen de les emballer tous dans un fichier .edmx. Quelqu'un a-t-il essayé cette approche?

Était-ce utile?

La solution

Le concepteur EF a besoin d'un fournisseur DDX pour pouvoir fonctionner.On dirait à l'origine que le fournisseur DDX n'a été installé que dans votre version expérimentale de VS2012.Lorsque vous installez VS2013, vous n'avez pas les clés de registre du fournisseur DDX et que le concepteur EF ne peut pas fonctionner avec votre base de données.

EDMX vient de collage ensemble CSDL MSL et SSDL.En supposant que vous utilisiez v3 schémas (c'est-à-dire que votre CSDL est dans cet espace de noms: xmlns="http://schemas.microsoft.com/ado/2009/11/edm") Vous pouvez simplement coller le contenu des fichiers de ce modèle (j'ai ajouté des commentaires que le fichier doit être collé où):

<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
  <!-- EF Runtime content -->
  <edmx:Runtime>
    <!-- SSDL content -->
    <edmx:StorageModels>
        <!-- paste SSDL contents here -->
    </edmx:StorageModels>
    <!-- CSDL content -->
    <edmx:ConceptualModels>
        <!-- paste CSDL contents here -->
    </edmx:ConceptualModels>
    <!-- C-S mapping content -->
    <edmx:Mappings>
        <!-- paste MSL contents here -->
    </edmx:Mappings>
  </edmx:Runtime>
  <!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
  <edmx:Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
    <edmx:Connection>
      <DesignerInfoPropertySet>
        <DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" />
      </DesignerInfoPropertySet>
    </edmx:Connection>
    <edmx:Options>
      <DesignerInfoPropertySet>
        <DesignerProperty Name="ValidateOnBuild" Value="true" />
        <DesignerProperty Name="EnablePluralization" Value="True" />
        <DesignerProperty Name="CodeGenerationStrategy" Value="None" />
      </DesignerInfoPropertySet>
    </edmx:Options>
    <!-- Diagram content (shape and connector positions) -->
    <edmx:Diagrams>
    </edmx:Diagrams>
  </edmx:Designer>
</edmx:Edmx>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top