2009-12-17 7 views
-1

J'ai créé une procédure de magasin pour faire des tests pour étudier sa fonctionnalité.Obtenir plus de retours d'une procédure stockée (Linq to SQL)

ma procédure execute deux Selects:

Exemple: Sélectionnez TOP 20 * De NotaFiscal Select TOP 20 * De ProdutoNotaFiscal

Utilisation du ADO.NET, le DataSet est rempli de 2 résultats et génère 2 DataTables. En utilisant Linq to SQL le type de retour est un ISingleResult

Je dois obtenir les 2 retours de ma procédure, mais je ne suis pas capable de le faire.

Comment puis-je obtenir le résultat de 2 sélections de la procédure à LINQ?

+0

Jetez un oeil ici: http://stackoverflow.com/questions/371445/linq-to-sql-stored-procedures-with-multiple-results –

Répondre

0

Vous devez créer une classe partielle pour votre datacontext, puis ajouter une méthode qui enveloppe le résultat de votre procédure stockée et la transtyper en un résultat IMultipleResults.

public partial class EntitiesDataContext 
    { 
    [Function(Name = "dbo.SPReturnMultipleResult")] 
    [ResultType typeof(NotaFiscal)] 
    [ResultType typeof(ProductoNotaFiscal)] 
    public IMultipleResults SPReturnMultipleResult() 
    { 
     IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod()))); 
     return ((IMultipleResults)(result.ReturnValue)); 
    } 
Questions connexes