2017-06-19 51 views
0

我目前正在從事板球項目。所以我必須展示那個鼓風機的咒語以及哪個在當前咒語中運行。 你可以看到這裏的截圖對於板球項目:想要統計投球手拼寫和結束

Bowlers Over

對於防爆。 截圖中有4個投球手b1,b2,b3, b4

  • 當了那麼spell = 1B1保齡球1 spellover = 1
  • B2保齡球2日在隨後spell = 1spellover = 1
  • 當過那麼spell = 1B1保齡球第三和spellover = 2
  • B2保齡球4日在隨後spell = 1spellover = 2

現在的投球手是改變

  • B3保齡球5日在隨後spell = 1spellover = 1
  • B4保齡球6日在隨後spell = 1spellover = 1
  • B3保齡球7日在隨後spell = 1spellover = 2
  • B4保齡球8號然後spell = 1spellover = 2

現在再次投球變化和B1和B2準備保齡球

  • B1保齡球9日在隨後spell = 2spellover = 1
  • B2保齡球10日在隨後spell = 2spellover = 1

我想正好在以上的記錄來自數據庫的和spellover。當投球手保齡球連續斷線時,意味着投球手的一次法術結束。

在這裏你可以看到我的數據庫記錄

Database_Record

如果任何有想法的LINQ視圖,然後你也可以建議我如何做到這一點的LINQ視圖。

+3

正在做作業嗎?你已經給了我們你想做的事。你已經試圖解決這個問題了嗎? –

+0

@RichBenner不,這不是功課。這是我在我辦公室的任務。我已經嘗試使用「SQL與」,但我無法找到正確的方式。 –

回答

0

爲了給你一個想法: 1.定義一個類時,你可以將其命名保齡球或者任何恰當

class bowlers 
     { 
      public string bowlerid { get; set; } 
      public int spell { get; set; } 
      public int spellOver { get; set; }`enter code here` 
     } 

2.Populate的從數據庫值列表。我已經手動填充爲:

List<bowlers> temp = new List<bowlers>(); 
      temp.Add(new bowlers{bowlerid="1"}); 
      temp.Add(new bowlers{bowlerid="2"}); 
      temp.Add(new bowlers{bowlerid="3"}); 
      temp.Add(new bowlers{bowlerid="4"}); 

3.Sort的lsit由投球手ID 變種LST = temp.OrderByDescending(X => x.bowlerid);

4.最後,你需要定義設置拼寫和拼寫over.You可以設置法術

你可以做到這一點的邏輯。

string current=temp[0].bowlerid; 
var result1=temp.SkipWhile(x=>x.bowlerid!=current).Select<bowlers,bowlers>(x=>{spell=x.spell;//update current 
return new bowlers{bowlerid=x.bowlerid,spell=spell+1}}); 

您需要根據場景更新當前變量。

+0

:我試過這個不工作。我們必須計算spellover和拼寫手動,所以我認爲這個解決方案不適用於這個問題。從數據庫中我們只能看到數字,BowlerId,BowlerName –