Hoe te bellen Opgeslagen Procedure van Entity Framework29

Hoe te bellen Opgeslagen Procedure van Entity Framework29 opgeslagen procedure als elke andere

Bedankt voor uw bericht.

MVC is in dit geval absoluut niet gerelateerd. De manier waarop u bellen opgeslagen procedure van EF zal nog steeds hetzelfde. Ik denk dat je wilt opgeslagen procedures te gebruiken zonder daadwerkelijk gebruik van entiteiten en LINQ to-entiteiten (hoofd EF kenmerken), vind je niet? Over het algemeen wat je nodig hebt:

  • EDMX file (ado.net entiteit gegevensmodel) waar u updaten lopen uit de database en voeg alle opgeslagen procedures die u wilt gebruiken. EDMX file genereert ook afgeleid ObjectContext en alle entiteiten standaard.
  • Volgende moet je naar Browser modelleren en te creëren importfunctie voor elke procedure. Importfunctie zal methode op de afgeleide ObjectContext waarmee u de opgeslagen procedure te bellen als elke andere .net methode te creëren.
  • Tijdens de import functie moet je complexe type te maken (het kan automatisch gebeuren) voor het resultaat set terug van opgeslagen procedure.

Je hoeft ook niet te functioneren invoer gebruiken bij allen en je kunt direct procedures uitvoeren door te bellen naar een van beide:

  • objectContext.ExecuteSqlCommand ("storedProcedureName", SqlParameters) voor de SP niet terugkeren recordset
  • objectContext.ExecuteStoreQuerylt, ResultTypegt; ("storedProcedureName", SqlParameters) voor SP terugkerende opname set. ResultType moeten woningen met dezelfde naam als de kolommen in het resultaat set te hebben. Het kan werken alleen met platte types (geen geneste objecten).

Er zijn enkele beperkingen bij het gebruik van opgeslagen procedures:

  • Entity Framework houdt niet opgeslagen procedures die dynamische resultaat sets terug (op basis van een bepaalde voorwaarde resultaat set heeft verschillende kolommen)
  • Entity Framework niet stored procedures terug te keren meerdere resultaat sets te ondersteunen – er zijn EFExtensions dat wel, maar het is meer als ADO.NET doet rechtstreeks.

Als u meer informatie wilt weten, lees dan deze thread.

Hoop dat dit kan helpen.

Jackie zon [MSFT]
MSDN Community Support | Feedback aan ons
Krijg of Vraag Code voorbeeld van Microsoft
Vergeet niet om de antwoorden op de antwoorden markeren als ze te helpen en de markering ongedaan maken als ze bieden geen hulp.

  • Voorgesteld als antwoord door Jackie-Zon Moderator woensdag 8 juni, 2011 08:26
  • Gemarkeerd als antwoord door Jackie-Zon Moderator dinsdag 14 juni, 2011 08:47

Bedankt voor uw bericht.

MVC is in dit geval absoluut niet gerelateerd. De manier waarop u bellen opgeslagen procedure van EF zal nog steeds hetzelfde. Ik denk dat je wilt opgeslagen procedures te gebruiken zonder daadwerkelijk gebruik van entiteiten en LINQ to-entiteiten (hoofd EF kenmerken), vind je niet? Over het algemeen wat je nodig hebt:

  • EDMX file (ado.net entiteit gegevensmodel) waar u updaten lopen uit de database en voeg alle opgeslagen procedures die u wilt gebruiken. EDMX file genereert ook afgeleid ObjectContext en alle entiteiten standaard.
  • Volgende moet je naar Browser modelleren en te creëren importfunctie voor elke procedure. Importfunctie zal methode op de afgeleide ObjectContext waarmee u de opgeslagen procedure te bellen als elke andere .net methode te creëren.
  • Tijdens de import functie moet je complexe type te maken (het kan automatisch gebeuren) voor het resultaat set terug van opgeslagen procedure.

Je hoeft ook niet te functioneren invoer gebruiken bij allen en je kunt direct procedures uitvoeren door te bellen naar een van beide:

  • objectContext.ExecuteSqlCommand ("storedProcedureName", SqlParameters) voor de SP niet terugkeren recordset
  • objectContext.ExecuteStoreQuerylt, ResultTypegt; ("storedProcedureName", SqlParameters) voor SP terugkerende opname set. ResultType moeten woningen met dezelfde naam als de kolommen in het resultaat set te hebben. Het kan werken alleen met platte types (geen geneste objecten).

Er zijn enkele beperkingen bij het gebruik van opgeslagen procedures:

  • Entity Framework houdt niet opgeslagen procedures die dynamische resultaat sets terug (op basis van een bepaalde voorwaarde resultaat set heeft verschillende kolommen)
  • Entity Framework niet stored procedures terug te keren meerdere resultaat sets te ondersteunen – er zijn EFExtensions dat wel, maar het is meer als ADO.NET doet rechtstreeks.

Als u meer informatie wilt weten, lees dan deze thread.

Hoop dat dit kan helpen.

Jackie zon [MSFT]
MSDN Community Support | Feedback aan ons
Krijg of Vraag Code voorbeeld van Microsoft
Vergeet niet om de antwoorden op de antwoorden markeren als ze te helpen en de markering ongedaan maken als ze bieden geen hulp.

  • Voorgesteld als antwoord door Jackie-Zon Moderator woensdag 8 juni, 2011 08:26
  • Gemarkeerd als antwoord door Jackie-Zon Moderator dinsdag 14 juni, 2011 08:47

Bron: social.msdn.microsoft.com

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *