Генератор DbContext и хранимые процедуры - PullRequest
1 голос
/ 25 января 2012

ПРИМЕЧАНИЕ: я использую EF 4.2 с базой данных первым методом и DbContext. Это НЕ код вначале.

Я пытаюсь получить шаблон DbContext t4 для генерации методов Stored Proc. Там, кажется, функциональность встроенных в нее, чтобы сделать это (он отображает на базовую ObjectContext), но по какой-то причине он упорно отказывается генерировать их. Я думаю, что это может иметь какое-то отношение к типу возвращаемого значения (который представляет собой один тип int, а не тип модели), но я не уверен.

Прежде чем кто-нибудь это скажет. Да, я знаю, DbContext не поддерживает хранимые процессы, поэтому шаблон t4 использует IObjectContextAdapter для преобразования его в ObjectContext. Это встроенная функциональность.

Раньше методы просто генерировались автоматически. Я не знаю, почему это не сейчас. Функция появляется в файле .edmx. Любые предложения о том, как решить эту проблему?

<Function Name="pInsertMemberPayment" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo">
  <Parameter Name="xMemberID" Type="int" Mode="In" />
  <Parameter Name="xCardHolderName" Type="varchar" Mode="In" />
  <Parameter Name="xBillingAddress" Type="varchar" Mode="In" />
  <Parameter Name="xBillingCity" Type="varchar" Mode="In" />
  <Parameter Name="xBillingState" Type="char" Mode="In" />
  <Parameter Name="xBillingZip" Type="varchar" Mode="In" />
  <Parameter Name="xAccountNumber" Type="varchar" Mode="In" />
  <Parameter Name="xExpirationDate" Type="date" Mode="In" />
  <Parameter Name="xRowCreatedSYSUserID" Type="int" Mode="In" />
  <Parameter Name="xRowCreatedDateTime" Type="datetime2" Mode="In" />
  <Parameter Name="xRowModifiedSYSUserID" Type="int" Mode="In" />
  <Parameter Name="xRowModifiedDateTime" Type="datetime2" Mode="In" />
  <Parameter Name="xMemberPaymentID" Type="int" Mode="InOut" />
</Function>

1 Ответ

3 голосов
/ 26 января 2012

Ваша примерная функция показывает определение хранимой процедуры в SSDL, но не показывает ни импорт функции в CSDL, ни отображение импорта функции в MSL.Вы создали функцию импорта в браузере модели для хранимой процедуры?Я только что протестировал шаблон DbContext Generator с 10 различными процедурами, возвращающими сущности, сложные типы, скаляры и используя входные и выходные параметры, и он генерировал метод в классе контекста для каждого из них (но они должны были отображаться в функции импорта).

...