2011-09-13 44 views
1

我有一個members表列加入使用lambda表達式和檢索數據

member_Id, 
    member_Lastname, 
    member_Firstname, 
    member_Postcode, 
    member_Reference, 
    member_CardNum, 

和我有另一個表mshipoptions的列

mshipoption_id 
mshiptype_id 

和我有另一個表mshiptypes

mshiptype_id 
mshiptype_name 

另一張表memtomship

memtomship_id 
mshipoption_id 
member_id 

和我的實體名稱是eclipse

在形式負載我正在通過使用下面的方法填充數據網格視圖....

private void reportmembers() 
{ 
     MemberControlHelper.Fillmembershiptypes(cbGEMembershiptype); 
     var membersreport = from tsgentity in eclipse.members 
           join memtomships in eclipse.membertomships on tsgentity.member_Id equals memtomships.member_Id 
           join mshipoptiions in eclipse.mshipoptions on memtomships.mshipOption_Id equals mshipoptiions.mshipOption_Id 
           join mshiptypes in eclipse.mshiptypes on mshipoptiions.mshipType_Id equals mshiptypes.mshipType_Id 
           select 
           new {          
            tsgentity.member_Id, 
            tsgentity.member_Lastname, 
            tsgentity.member_Firstname, 
            tsgentity.member_Postcode, 
            tsgentity.member_Reference, 
            tsgentity.member_CardNum, 
            mshiptypes.mshipType_Name,         
           }; 

      if (txtfirstname.Text != "") 
      { 
       dgvmembersrep.DataSource = membersreport.Where(t => t.member_Firstname == txtlastname.Text).ToList();     
      } 
      if (txtcardnum.Text != "") 
      { 
       dgvmembersrep.DataSource = membersreport.Where(a => a.member_CardNum == txtcardnum.Text).ToList(); 
      } 
} 

,這是細,.. 。

我的問題就在這裏,我有一個comboboxsay(cbgemembershiptype)......

當用戶選擇會員類型(cbgemembershiptype)時,我想檢索那些具有該會員類型的會員的詳細信息....

+0

請參閱http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts/ –

回答

3

(您的問題不清楚您的查詢是否已經存在做你想做的事。我假設它的確如此。)

目前還不清楚爲什麼你要想要將此查詢轉換爲使用lambda表達式的查詢。這當然是可能的,但每個連接將引入一個新的範圍變量 - 截至去年底,嚴格直譯最終會得到一個選擇涉及類似

member_Id = a.b.c.member_Id 

......它不會是非常可讀可言。

如果用手寫出來,有些方法可以改進它,但它仍然不會像查詢表達式那樣清晰。

你應該一定知道這兩種形式,並使用哪種形式最清晰地查詢問題 - 在這種情況下肯定是查詢表達式形式。

有關如何翻譯查詢表達式的詳細信息,請參閱我的Edulinq post on that topic

+0

你會看到我的修改後的代碼,我是不知道是否正確或不檢查會員的名字和卡號,我不知道如何chekc mship類型名稱..你會給任何示例代碼或任何想法.... –

+0

@errorstacks:對不起,你的問題很不明確。請儘量清楚地重寫它 - 閱讀http://tinyurl.com/so-hints –

+0

我修改了我的查詢,你有沒有任何想法如何檢索成員船類型whoose會員類型select in組合框.....我知道它包括加入,但我不知道該怎麼辦.. –