sql >> Base de Datos >  >> RDS >> Mysql

MySQL Entity Framework 4.0 Asignación de campo de procedimiento almacenado

debido al error #55778 (los parámetros del procedimiento almacenado se omiten durante la actualización del modelo de datos de la entidad), no es posible importar automáticamente los procedimientos almacenados de MySQL en un modelo de datos de la entidad.

Como solución, podría manipular manualmente el archivo .edmx creado (.ssdl, .csdl):

Importe el procedimiento almacenado de MySQL como se describe arriba

Busque el nombre del procedimiento almacenado dentro del modelo (archivo .edmx o archivos .ssdl, .csdl)

Dentro del modelo de almacenamiento (SSDL) reemplace:

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

Dentro del Modelo Conceptual (CSDL) reemplace:

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

con:

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

¡Espero que ayude! Saludos