Récupérer les données de la table à partir d'une procédure stockée à l'aide de entity framework
Je suis en utilisant Entity Framework v6. J'ai une procédure stockée comme indiqué ci-dessous
CREATE PROCEDURE [dbo].[GetCountryList]
(
@CustomerName VARCHAR(MAX),
@SearchCriteria VARCHAR(MAX)
)
AS
BEGIN
SET NOCOUNT ON
SELECT CountryID, CountryName FROM dbo.Table1
WHERE CustomerName = @CustomerName AND CountryName = @SearchCriteria
END
Maintenant, j'ai une classe de modèle
public class CountryName
{
public int CountryId { get; set; }
public string CountryName { get; set; }
}
Si je veux obtenir le résultat de la SELECT
requête dans un List<CountryName>
type
List<CountryName> countryList = null;
using (DbEntities dbContext = new DbEntities())
{
countryList = //my code to collect the result
}
Bien, je pouvais courir un LINQ to SQL directement sur la table, mais malheureusement, mon exigence pour obtenir les données à partir d'une procédure stockée. Alors, comment puis-je le faire?
OriginalL'auteur Riki | 2015-09-24
Vous devez vous connecter pour publier un commentaire.
Add -> Function Import
.GetCountryListSP
, choisissez votre procédure à partir de la liste déroulante, puis choisissez la valeur de retour de la procédure àEntities
et choisissezCountryName
à partir de la liste déroulante.Ensuite dans le code:
Avec cette approche, vous empêcher de retourner
-1
de la procédure stockée. Veuillez vérifier cette post pour plus de détails sur la procédure stockée problème avec Entity Framework.OriginalL'auteur Salah Akbari
Vous pouvez le faire sans avoir à les importer. Quelque chose comme ça:
EntityFramework parfois de ne pas les reconnaître ou de les importer SPs ))) Donc, c'est pourquoi j'ai enregistrer mes heures avec cet extrait.
J'ai changé mon code pour que @S. Akbari a suggéré, db.procédure(); et son travail jusqu'à maintenant , je suis également suivi si quelque chose de mauvais arrive.
OriginalL'auteur Anton Norko