2009-07-21 6 views

Répondre

2

Vous pouvez créer une vue dans le SSDL. C'est à dire. pas une vue de base de données mais une vue Entity Framework.

Regardez la documentation pour DefiningQuery. DefiningQueries possède un corps SQL natif, tout comme une vue de base de données, mais vous n'avez pas besoin d'une vue dans la base de données.

A ce stade, l'entité devient en lecture seule, vous devez donc ajouter Functions (au fichier SSDL) et ModificationFunction Mappings (au fichier MSL) pour que l'entité Lecture-écriture réapparaisse. Remarquez une fois que les fonctions sont dans le fichier SSDL, vous devez utiliser le concepteur pour créer les mappages de modifications plutôt que de vous déplacer dans le fichier .XML.

Généralement Les fonctions dans le SSDL sont simplement des wrappers autour des procs stockés, mais étant donné que vous ne voulez pas ajouter une vue de base de données, vous ne voulez probablement pas non plus créer de procs stockés. Heureusement, vous pouvez également intégrer le CommandText pour les fonctions SSDL directement dans le SSDL (c'est-à-dire à nouveau le SQL natif).

Si vous suivez toutes ces étapes, vous pouvez obtenir ce que vous voulez.

Mais j'avoue que ce n'est pas facile.

Espérons que cela vous aide (au moins en vous donnant quelques conseils sur la façon de commencer).

Alex (Entity Framework Team)

+0

Mais, il a les mêmes performances d'une vue de la base de données? Mon plus gros problème est la performance de la vue et de la gérer dans le cadre de l'entité ... Je dois éditer dans le XML et après cela, rien ne semble fonctionner dans le concepteur. –

Questions connexes