11

这里有没有人使用 MySQL 和实体框架 4.0 和存储过程?当我添加一个 SP 时,它没有显示我需要输入的任何字段。我也看不到手动添加它们的方法。当我单击函数导入映射时,它只是说“在实体设计器模型浏览器上选择一个实体或关联以编辑它的映射”。

任何帮助表示赞赏。我正在使用 .NET 连接器 6.3.6

4

1 回答 1

10

由于错误 #55778(更新实体数据模型期间省略了存储过程参数),无法将 MySQL 存储过程自动导入实体数据模型。

作为一种解决方法,您可以手动操作创建的 .edmx 文件(.ssdl、.csdl):

如上所述导入 MySQL 存储过程

在模型中搜索存储过程名称(.edmx 文件或 .ssdl、.csdl 文件)

在存储模型 (SSDL) 中替换:

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

和:

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

在概念模型 (CSDL) 中替换:

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

和:

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

希望有帮助!干杯

于 2011-05-30T14:26:51.837 回答