MySQL Entity Framework 4.0 Отображение полей хранимых процедур - PullRequest
11 голосов
/ 13 марта 2011

Кто-нибудь здесь использовал MySQL со структурой сущностей 4.0 и хранимыми процедурами? Когда я добавляю SP, он не показывает ни одно из моих полей, которые мне нужно ввести. Я также не вижу способа добавить их вручную. Когда я нажимаю «Сопоставление импорта функций», он просто говорит: «Выберите объект или ассоциацию в браузере модели Entity Designer, чтобы редактировать его отображение».

Любая помощь приветствуется. Я использую .NET Connector 6.3.6

1 Ответ

10 голосов
/ 30 мая 2011

из-за ошибки # 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>

Надеюсь, это поможет!Приветствия

...