2011-05-20 5 views
0

Je suis un newb MVC EF. J'essaie de faire une requête très simple. Peut-être que j'y pense trop dans le format "SELECT * FROM TABLE WHERE BLAHBLAH> 3" et non dans une mise en page MVC EF basée sur la classe.simple MVC EF requête

De toute façon j'ai un modèle/classe appelé "Messages". J'essaie d'obtenir tous les messages avec un nom d'utilisateur spécifique. J'ai donc quelque chose comme ceci:

 var mesg = from msg in elkdb.Messages 
        where mydb.Messages.user = Membership.GetUser() 
        select msg; 

drapeaux de Visual Web Developer la partie .msg du "où" la ligne et dit:

Erreur 2 'System.Data.Entity.DbSet' ne contient pas de définition pour « msg » et aucune méthode d'extension « msg » accepter un premier argument de type « System.Data.Entity.DbSet » pu être trouvée (vous manque une avec la directive ou un ensemble référence?)

msg est définie dans la classe comme suit:

public class Message 
{ 
    public long ID { get; set; } 
    ... 
    public string msg { get; set; } 
} 

Et je sais que j'ai accès à la portée du message à ce point.

Est-ce que je dis cela mal? Est-ce que j'ai juste la syntaxe incorrecte?

Merci pour votre aide!

EDIT: J'ai eu par erreur "mydb.Messages.msg = Membership.GetUser()" plus tôt parce qu'il était bien après mon heure de coucher.

Répondre

3

Je pense que la requête est mal

var mesg = from MSG in elkdb.Messages 
        where MSG.msg == Membership.GetUser() 
        select MSG; 

-ce que le match prop msg avec UserName?

+0

Ah ... désolé. Je voulais mettre "mydb.Messages.user = Membership.GetUser()". Donc je suppose que "MSG" est juste un tuple temporaire pour cette requête? – micahhoover