sql >> Databasteknik >  >> RDS >> Mysql

MySQL Entity Framework 4.0 Fältmappning för lagrad procedur

på grund av buggen #55778 (Lagrade procedurparametrar utelämnas under uppdatering av entitetsdatamodellen) är det inte möjligt att automatiskt importera MySQL Stored Procedures till en enhetsdatamodell.

Som en lösning kan du manuellt manipulera den skapade .edmx-filen (.ssdl, .csdl):

Importera den lagrade MySQL-proceduren enligt beskrivningen ovan

Sök efter den lagrade procedurens namn i modellen (.edmx-fil eller .ssdl-, .csdl-filer)

Inom Storage Model (SSDL) ersätt:

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

med:

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

Inom den konceptuella modellen (CSDL) ersätt:

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

med:

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

Hoppas det hjälper! Skål




  1. Få ut det mesta av dina PostgreSQL-index

  2. Skaffa språket som för närvarande används i SQL Server

  3. Så här kontrollerar du om en tabell redan finns innan du skapar den i MySQL

  4. Vikten av WHERE 1 i MySQL-frågor