2009-10-08 13 views
0

Je souhaite implémenter une logique de recherche que j'ai vue et utilisée. Cela fonctionne comme ceci:Recherche de procédure stockée à l'aide du framework d'entité

Une procédure stockée est chargée dans le framework d'entité et elle est utilisée comme méthode en C#, elle prend des paramètres pour effectuer la recherche. Cette méthode renvoie la liste des vues (vue DB). Les vues dans la liste ont juste certaines des propriétés qui doivent être montrées dans le gird. Par exemple, je suis à la recherche d'utilisateurs par certains paramètres et le résultat est la liste des utilisateurs. Au lieu de retourner la liste de l'objet User, j'utilise une vue vUser qui ne contient que les propriétés qui seront listées sur gird. Par exemple ID, Nom et Nom de famille. Mais les données sont toujours correctes car la recherche de procédure stockée est effectuée par rapport à la table Utilisateurs dans la base de données.

La vue est également chargée en tant qu'objet C# dans l'infrastructure de l'entité. J'utilise SQL Server 2005.

Comment puis-je implémenter cela?

merci beaucoup.

+0

Comment je fais ça ?? – eomeroff

Répondre

1

Oui, vous pouvez le faire. Malheureusement, dans EF 3.5 vous devez créer un EntityType (qui n'a que les colonnes que vous projetez dans la procédure stockée) afin que vous puissiez créer un FunctionImport qui expose les résultats de la procédure stockée.

Ainsi étapes:

  1. Assurez-vous d'inclure la procédure stockée lors de la création du modèle (ou lors de l'actualisation du modèle de la base de données)

  2. Créer un EntityType qui correspond exactement à la forme retournée par la procédure stockée

  3. Créer un FunctionImport qui utilise cette procédure stockée et dire qu'il renvoie le EntityType que vous avez créé dans (2)

Dans EF 4.0, vous pouvez ignorer l'étape (2) car l'outil EF automatise ce processus.

Voir cette post from Julie pour plus d'arrière-plan

Hope this helps

Alex

+0

Que renverra cette fonction? Est-ce que ce sera une liste de vues qui ont les mêmes propriétés que je sélectionne dans le code SQL dans la procédure stockée? – eomeroff

+0

Eh bien, si vous dites une liste de vues, vous voulez dire la liste des lignes de la vue, alors oui. –

+0

oui oui, merci beaucoup – eomeroff

Questions connexes