エンティティ フレームワーク 4.0 とストアド プロシージャで MySQL を使用した人はいますか? SP を追加すると、入力する必要のあるフィールドが表示されません。また、手動で追加する方法もありません。[関数のインポート マッピング] をクリックすると、単に「エンティティ デザイナー モデル ブラウザーでエンティティまたは関連付けを選択して、そのマッピングを編集します」と表示されます。
どんな助けでも大歓迎です。.NET コネクタ 6.3.6 を使用しています
エンティティ フレームワーク 4.0 とストアド プロシージャで MySQL を使用した人はいますか? SP を追加すると、入力する必要のあるフィールドが表示されません。また、手動で追加する方法もありません。[関数のインポート マッピング] をクリックすると、単に「エンティティ デザイナー モデル ブラウザーでエンティティまたは関連付けを選択して、そのマッピングを編集します」と表示されます。
どんな助けでも大歓迎です。.NET コネクタ 6.3.6 を使用しています
バグ #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>
それが役立つことを願っています! 乾杯