2012-07-02 80 views
-3

這是我的MS SQL查詢(我使用這個作爲存儲過程)。我是LINQ的新手。我正在使用.NET框架4.0和實體框架。我怎樣才能重新寫入LINQ的SQL查詢

查詢1

SELECT SUM(PTS.Run1)AS Run1,SUM(PTS.Run2)AS Run2, 
SUM(PTS.Run3)AS Run3,SUM(PTS.Run4)AS Run4,SUM(PTS.Run6)AS Run6 
,SUM(PTS.BallsFaced)AS BallsFaced 
    FROM PlayerTeamSeason PTS 
    INNER JOIN Player P ON P.ID=PTS.PlayerId 
WHERE P.CrewId =89 and PTS.SeasonId=1 

EDIT 1

我需要溶液用於獲取

  • MAX值和JOIN(仔細查閱查詢1)

EDI T 2

from crew in Oritia_entities.Crews 
     join P in Oritia_entities.Players on crew.ID equals P.CrewId 
            //select new { P.ID, P.Matches }; 
     join PTS in Oritia_entities.PlayerTeamSeasons on P.ID equals PTS.PlayerId 
     select new 
     { 
      TotalRuns = PTS.Run1 + PTS.Run2 + PTS.Run3 + PTS.Run4 + PTS.Run6 
      , 
      Bowls = PTS.BallsFaced 
            }; 

我已經把查詢重新寫入LINQ。但是我怎麼能在這裏使用SUM。正如我在SQL查詢中寫

感謝

VeeKeyBee

+2

而不是發佈所有你需要做的工作,爲什麼不張貼一個查詢代表你想學的知識嗎?如果有不止一件事你不明白,它們可能是最好的獨立問題。 – RedFilter

+0

@RedFilter我對LINQ來說真的很陌生。我不希望任何人重寫LINQ。只是期待一些提示。我正在學習ASP.Net MVC,現在我剛剛創建了一個場景,我只是通過一個sp獲得球員擊球,保齡球和feilding細節。所以我可以避免3個不同的調用數據庫服務器。所以試圖詳細提供我的要求。 – kbvishnu

+0

顯然我們不允許在評論中鏈接到ltgtfy。幹得好,所以。無論如何,快速谷歌搜索引導我在這裏:http://weblogs.asp.net/scottgu/archive/2007/08/16/linq-to-sql-part-6-retrieving-data-using-stored-procedures。 aspx –

回答

2

首先,運行 - 不要走 - 到LINQPad.net,並讓自己LINQPad的副本。此外,我會建議花費少得可憐的58美元來獲得自動完成的高級版本。

有一些快速教程,以及很多示例代碼,可以讓你開始找到等價的LINQ命令。

這是一個非常易於使用的程序,它允許您快速運行和試驗LINQ,包括實際查詢您的數據庫。它還允許您運行代碼甚至SQL查詢,這對您的情況很有幫助,因爲您可以在一個選項卡中打開SQL查詢,而在另一個選項卡中處理相應的LINQ查詢。其次,我將從你的情況開始的方式是輸出。運行你的查詢,看看輸出是什麼,然後嘗試從那裏開發你的LINQ查詢。我不認爲嘗試轉換實際的SQL查詢是最簡單的方法,但它仍然可以爲您提供一些指導。

你會發現LINQ實際上與SQL非常相似,首先想到的是它從SQL向後。例如,select出現在LINQ的末尾。實際上,一旦你使用了LINQ一段時間,你會發現它的SQL真的是倒退了。

讓我開始您與一些幫助:

SELECT @playerID= ID FROM Player WHERE [email protected] 

在LINQ:

int playerID = 1234; 
var result = from player in Player 
      where player.crewid == playerID 
      select player.ID 

由於這是EF,你可能會在玩家面前你的數據庫環境,但至少在LINQPad中(通過程序中的EF連接),您可以在將它們傳送到生產代碼之前開發查詢。

下面是使用LinqPad演示如何連接到實體框架以及如何編寫一些查詢的示例。注意有樣品可用。另外請注意,我寫了一些快速查詢,可能會幫助您處理查詢。

enter image description here

+0

謝謝請看我更新的問題 – kbvishnu

相關問題