Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mapeamento de campo de procedimento armazenado do MySQL Entity Framework 4.0


devido ao bug #55778 (parâmetros do procedimento armazenado são omitidos durante a atualização do modelo de dados da entidade) não é possível importar automaticamente os procedimentos armazenados do MySQL para um modelo de dados da entidade.

Como solução alternativa, você pode manipular manualmente o arquivo .edmx criado (.ssdl, .csdl):

Importe o procedimento armazenado do MySQL conforme descrito acima

Procure o nome do procedimento armazenado no modelo (arquivo .edmx ou arquivos .ssdl, .csdl)

Dentro do modelo de armazenamento (SSDL), substitua:
  <Function Name="GetStudentGrades" Aggregate="false" BuiltIn="false"
            NiladicFunction="false" IsComposable="false"
            ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
  </Function>

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

Dentro do Modelo Conceitual (CSDL) substitua:
  <FunctionImport Name="GetStudentGrades" EntitySet="StudentGrades" ReturnType=...>
  </FunctionImport>

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

Espero que ajude!