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,
);
}
如果你需要更多信息,只是問我,謝謝。