REMARQUE: J'utilise EF 4.2 avec Database First Method et DbContext. C'est le code NOT d'abord. J'essaie d'obtenir le DbContext t4 tempalate pour générer des méthodes Proc mémorisés. Il semble y avoir une fonctionnalité intégrée pour le faire (il est mappé à ObjectContext de base), mais pour une raison quelconque, il refuse obstinément de les générer. Je pense qu'il pourrait avoir quelque chose à voir avec le type de retour (qui est un int simple, pas un type de modèle), mais je ne suis pas sûr.Générateur DbContext et procédures stockées
Avant que quelqu'un ne le dise. Oui, je sais que DbContext ne prend pas en charge les processus stockés, ce qui explique pourquoi le modèle t4 utilise IObjectContextAdapter pour le convertir en ObjectContext. Ceci est une fonctionnalité intégrée.
Dans le passé, les méthodes étaient simplement générées automatiquement. Je ne sais pas pourquoi ce n'est pas maintenant. La fonction apparaît dans le fichier .edmx. Des suggestions sur la façon de résoudre ce problème?
<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>
Il me semble qu'il me manque quelque chose. J'ai importé le sproc en utilisant l'option Update Model From Database. Donc, je dois les mapper à Fonction Imports après cela? –
Oui. L'importation via l'assistant les placera dans une partie d'EDMX mais après cela, vous devrez indiquer à EF ce que vous voulez faire avec ces procédures stockées - vous pouvez les mapper pour insérer, mettre à jour, supprimer des opérations pour des entités sera traité par le modèle. –
Ok, je peux l'obtenir pour générer. Mais je n'arrive pas à comprendre comment mapper le paramètre de sortie au type de retour de int. Apparemment, cliquer sur Get Column Information est censé aider, mais cela dit qu'il ne retourne aucune colonne (ce qui n'est pas le cas, je pense que c'est pour les ensembles de résultats). c'est juste un seul paramètre de sortie). –