group by節や集約関数を含むSqlクエリをlinqからsqlに変換しますか?

group-by linq-to-sql tsql

私は監査のログインテーブルを持っています、私はちょうど各ユーザーのために最新のログインを抽出したいと思います、それは以下のSQLによって達成されます。

どのように私はSQLクエリをLINQ to SQLクエリにフォーマットするでしょうか?

監査テーブルadt1内部結合UserTable adt1のユーザーテーブルusr [userName] = usr。[User_Id] WHERE [タイムスタンプ] =(SELECT MAX([タイムスタンプ])

SQLでクエリを書くもう一つの方法。

SELECT adt1。[UserName]、usr.First_Name、max([TimeStamp])from AuditTable adt1内部UserTable usr to adt1。[UserName] = usr [グループID] adt1。[UserName]、usr。SELECTファーストネーム

  0  0


ベストアンサー

クエリ#2:dc.AuditTableのadt1からadt1.username == usr.UserIDグループadt1のdc.UserTableにusrを結合するnewを選択します。 ⇒ adt1.TimeStamp)}

なぜユーザーテーブルに参加するのですか。 フィルタ?

2


私はそれがうまくいった…​ 答えはletキーワードを使用することでした。

さておき、私はこれらのことを解決しようとするとき LinqPadを使うことを強く勧めます。

AuditTableのadtからadt.UserNameのUserTableにusrを結合することは、新しい{adt.UserName、adt.Roles、usr.First_Name、usr.Last_Name}によって、ad.User_Idグループadtに等しくなります。LastAccessed = g.Max(a => a) .TimeStamp)new {UserName = g.Key.UserName、Roles = g.Key.Roles、FirstName = g.Key.First_Name、LastName = g.Key.Last_Name、TimeStamp = LastAccessed}を選択します。

0


タイトルとURLをコピーしました