-3

これは私の MS SQL クエリです (これをストアド プロシージャとして使用しています)。私はLINQが初めてです。.NET Framework 4.0 と Entity Framework を使用しています。

クエリ 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

編集1

取得するためのソリューションが必要です

  • MAX 値と JOIN (クエリ 1 を参照してください)

編集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クエリに書いているように

ありがとう

ヴィーキービー

4

2 に答える 2

2

まず、歩かないでLINQPad.netにアクセスし、LINQPad のコピーを入手してください。また、わずか 58 ドルでオートコンプリート用のプレミアム バージョンを入手することをお勧めします。

いくつかの簡単なチュートリアルと、同等の LINQ コマンドを見つけることから実際に始めることができる多くのサンプル コードがあります。

これは非常に使いやすいプログラムであり、実際にデータベースに対してクエリを実行するなど、LINQ をすばやく実行して実験することができます。また、コードや SQL クエリを実行することもできます。これは、あるタブで SQL クエリを開き、別のタブで対応する LINQ クエリを操作できるため、便利です。

第二に、あなたの状況で私が始める方法は、出力です。クエリを実行し、出力を確認してから、そこから LINQ クエリを開発してみてください。実際の SQL クエリを変換しようとするのが最も簡単な方法だとは思いませんが、それでもある程度のガイダンスは得られます。

LINQ は実際には SQL と非常によく似ていることがわかります。最初に考える方法は、LINQ が SQL とは逆であるということです。たとえば、selectは LINQ の最後にあります。実際、しばらく LINQ を使用すると、実際には SQL が逆であることがわかります。

いくつかの助けを借りて始めましょう:

SELECT @playerID= ID  FROM Player WHERE crewid=@playerID 

LINQ では:

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

これは EF であるため、おそらく Player の前にデータベース コンテキストを配置することになりますが、少なくとも LINQPad では (プログラム内の EF 接続を介して) クエリを作成してから、クエリを運用コードに転送することができます。

Entity Framework に接続する方法とクエリを作成する方法を示す LinqPad の使用例を次に示します。利用可能なサンプルがあることに注意してください。また、クエリに役立ついくつかの簡単なクエリを書いたことにも注意してください。

ここに画像の説明を入力

于 2012-07-02T14:10:21.873 に答える
1

複数の結果セットを返す SP の MSDN に関する記事。まずグーグル。

LINQ to SQL: 複数の結果セットを返す

于 2012-07-02T14:23:49.740 に答える