2014-02-14 17 views
0

嗨,我剛開始Linq中的「實體Framwork」到PROGRAME與存儲過程返回的數據和我的probleme是:獲取從存儲過程中的SQL Server 2008 silvelight C#大家的LINQ

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

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

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 

視圖模型代碼:

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, 
     ); 
} 

如果你需要更多信息,只是問我,謝謝。

回答

0

這裏是解決方案:

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」 的。

相關問題