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

Mappatura dei campi delle stored procedure MySQL Entity Framework 4.0

a causa del bug #55778 (I parametri delle stored procedure vengono omessi durante l'aggiornamento dell'Entity Data Model) non è possibile importare automaticamente le MySQL Stored Procedure in un Entity Data Model.

Come soluzione alternativa, puoi manipolare manualmente il file .edmx creato (.ssdl, .csdl):

Importa la stored procedure MySQL come descritto sopra

Cerca il nome della stored procedure all'interno del modello (file .edmx o file .ssdl, .csdl)

All'interno del modello di archiviazione (SSDL) sostituire:

  <Function Name="GetStudentGrades" Aggregate="false" BuiltIn="false"
            NiladicFunction="false" IsComposable="false"
            ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
  </Function>

con:

  <Function Name="GetStudentGrades" Aggregate="false" BuiltIn="false"
           NiladicFunction="false" IsComposable="false"
            ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
    <Parameter Name="StudentID" Type="int" Mode="In" />
  </Function>

All'interno del Modello Concettuale (CSDL) sostituire:

  <FunctionImport Name="GetStudentGrades" EntitySet="StudentGrades" ReturnType=...>
  </FunctionImport>

con:

  <FunctionImport Name="GetStudentGrades" EntitySet="StudentGrades" ReturnType=...>
    <Parameter Name="StudentID" Mode="In" Type="Int32" />
  </FunctionImport>

Spero di esserti stato d'aiuto! Saluti