2011-12-07 1 views
0

私の目標は、ASP.net MVCの最初から簡単なフォーラムを作成することです。 なぜですか?私はどのように勉強したいので。asp.netのフォーラムメッセージのスレッドMVC

また、比較的新しいASP.net MVCに対して、私は以下のことをしたいと思います。 私は自分のDB内のメッセージテーブルと通信するmessageRepositoryを持っています。

私はここに

public IQueryable<Message> FindAllMessages() 
    { 
     return db.Messages; 
    } 

という名前の関数と呼ばれてきた今、私はまた、パラメータとしてメッセージIDを受け取り、このパラメータを含むすべてのメッセージのリストを返すオーバーロード関数を作成します。 このような並べ替え。

public IQueryable<Message> FindAllMessages(int id) 
    { 
     //take the id here and make it so that it returns a list 
     //with all messages containing this id 
     return db.Messages; 
    } 

私の質問:これを行う方法を知っていますか?

また、私のアプローチが間違っていると思われる場合は教えてください。

UPDATE:

[OK]を私はそう今、私はそう

public IQueryable<Message> FindAllMessages(int id) 
    { 
     var messages = from p in db.Messages 
         where p.ThreadReplyID == id 
         select p; 
     return messages; 
    } 

私が尋ねおおよそで、どのようなメッセージ変数を埋めるためにLINQ文を使用しているいくつかの変更を加えました。
私の解決策は私のすべてのthreadReplyIDsに私のThreadIDと同じIDを与えています。

答えて

0

idパラメータとは何ですか?それがプライマリキーの場合、各メッセージは一意のID値を持ちます。また、Entityフレームワークを使用していますか? EFを使用すると簡単に検索できます

yourdbcontext.Messages.Find(id) 
+0

私の主キーはthreadidというフィールドにありません。このidは、インクリメントするが重複する可能性のあるメッセージIDに対応している。これは、必要な応答を伴うメッセージの可能性があるからである。この場合のすべての返信とメッセージは同じメッセージIDを持ちます。返信ありがとうbtw - – Shinji

+0

私は、messageidの命名規則が悪いと思っています。だから私は今threadReplyIDに名前を変更することにしました。 – Shinji