簡體   English   中英

獲取從存儲過程SQL Server 2008 silvelight C#Linq返回的數據

[英]get the data that was returned from the stored procedure SQL Server 2008 silvelight C# Linq

大家好,我剛剛開始使用存儲過程在Linq“ Entity Framwork”中編程,而我的問題是:

我想檢索從存儲過程返回的數據,這是我的代碼:

這是我的存儲過程,這只是一個簡單的選擇

USE [Arret_dev]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[IsTheSame] 
@ListeIdAffaires nvarchar(MAX),
AS
CREATE TABLE #AffairesIDs (AffaireID int);
DECLARE @requete nvarchar(max);
SELECT @requete =
    'INSERT INTO #AffairesIDs(AffaireID)
     SELECT [id] FROM [Affaire] WHERE ([id] in (' + @ListeIdAffaires + '))';
EXEC sp_executesql @requete;

BEGIN
SET NOCOUNT ON;
RETURN SELECT *
FROM #AffairesIDs, [dbo].[Affaire]  
WHERE id = AffaireID ;
    END
DROP TABLE #AffairesIDs;
GO

viewmodel代碼:

private void IsTheSame(){
    IsBusy = true;
    InvokeOperation<IEnumerable<Affaire>> LoadAffaire = Context.Load(Context.IsTheSame(_selectedAffaires, InfoAffaire));
    LoadAffaire.Completed += new EventHandler(IsTheSame_Completed);
}

private void IsTheSame_Completed(object sender, EventArgs e)
{
    IsBusy = false;
    TexteInfo = "Succès : les données des affaires sélectionnées ont été chargée.";
}

DomaineService:

[Invoke]
public IEnumerable<Affaire> IsTheSame(IEnumerable<int> selectedAffaires, Affaire infoAffaire)
{
    // cette liste sera utilisée dans le IN de la proc stock
    string listeIdAffaires = string.Join(",", selectedAffaires.ToArray());

    return this.ObjectContext.IsTheSame(
        listeIdAffaires,
        );
}

如果您需要更多信息,請問我謝謝。

這是解決方案:

    InvokeOperation<IEnumerable<Affaire>> LoadAffaire;

    private void IsTheSame(){
        IsBusy = true;
        LoadAffaire = Context.IsTheSame(_selectedAffaires, InfoAffaire);
        LoadAffaire.Completed += new EventHandler(IsTheSame_Completed);
    }

    private void IsTheSame_Completed(object sender, EventArgs e)
    {
        IsBusy = false;
        TexteInfo = "Succès : les données des affaires sélectionnées ont été chargée.";
        IEnumerable<Affaire> affaire = LoadAffaire.Value.AsEnumerable();
        MessageBox.Show(affaire.ElementAt(0).nom_fichier_pretour);
    }

對於存儲過程,我取“ RETURN”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM