2009-03-25 8 views
0

(Jouer avec le framework MVC) J'ai créé un modèle de données d'entité ADO.net. Maintenant, je voudrais l'étendre avec une certaine logique métier, comme créer des fonctions retournant des sous-ensembles du contexte. Une classe partielle est créée en même temps que le modèle de données, donc je créé un nouveau fichier déclarant une classe partielle comme ceci:Complément de l'entité dans ADO.net Entity Data Model

je place une fonction qu'il a appelé GetMovieById (int id) et le résultat ressemble à ceci:

namespace RecordStore.Models 
{ 
    public partial class MovieDBEntities 
    { 
     public Movie GetMovieById(int id) 
     { 
      Movie movie = MovieSet.First(m => m.id == id); 
      return movie; 
     } 

    } 
} 

Je reçois aucune erreur jusqu'à ce que je commence le projet, puis l'erreur est:

compilateur message d'erreur: CS1061: « RecordStore.Models.MovieDBEntities » ne contient pas de définition pour « MovieSet » et pas méthode d'extension 'MovieSet' acceptant un premier argument de type 'RecordStore.Models.MovieDBEnt Vous pouvez trouver des erreurs (une directive using ou une référence d'assembly est manquante)

Je ne comprends pas l'erreur car l'autre partie de la classe partielle contient le MovieSet. Ma question est fondamentalement, si ce n'est pas la manière d'étendre le modèle de données, quelle serait la manière, et au cas où c'est la manière, pourquoi je reçois cette erreur?

Répondre

0

Je vais laisser la question de savoir si c'est une bonne technique ou non pour quelqu'un d'autre. Considérant l'erreur de compilation, cependant, êtes-vous sûr que votre classe partielle ci-dessus et la classe générée par le modèle sont dans le même espace de noms exact?

+0

Salut Daniel, merci pour votre réponse. Oui je suis positif, ils sont tous les deux dans "RecordStore.Models". – miccet

Questions connexes