erstellen Ich versuche, 2 Tabellen, Club
und LinkClubUser
abzufragen. Ich möchte den letzten Club, der einem Benutzer zugewiesen wurde, ab dem letzten Datum im LinkclubUser abrufen.Wie Gruppenklausel in Entity Framework Core
Ich habe das Recht SQL-Abfrage:
select top 1
max(A.DataInscricao),
A.Nome, A.NomeNaCamisola, A.NumNaCamisola, A.Posicao, A.Situacao
from
Clube as A
inner join
LinkClubeUser as B on a.Id = b.IdClube
where
b.IdUser ='9faea9f3-28d7-4e34-8572-3102726d3c75'
group by
A.Nome, A.NomeNaCamisola, A.NumNaCamisola, A.Posicao, A.Situacao
ich die richtige Reihe bekam.
Ich versuche, diese Abfrage Entity Framework Kern so zu konvertieren, aber ich wieder mehr als 1 Zeile:
var query = _dbContext
.LinkClubeUser
.Join(_dbContext.Clube,
lnk => lnk.IdClube,
clube => clube.Id,
(Lnk, clube) => new { Lnk, clube })
.Where(t => t.Lnk.IdUser == "9faea9f3-28d7-4e34-8572-3102726d3c75")
.GroupBy(t => new
{
t.clube.Id,
t.clube.Nome,
t.clube.NomeNaCamisola,
t.clube.NumNaCamisola,
t.clube.Posicao,
t.clube.Situacao,
t.clube.DataInscricao
}, t => t.clube)
.Select(g => new
{
Nome = g.Key.Nome,
NomeNaCamisola = g.Key.NomeNaCamisola,
NumNaCamisola = g.Key.NumNaCamisola,
Posicao = g.Key.Posicao,
Situacao = g.Key.Situacao,
DataInscricao = (DateTime)g.Max(p => p.DataInscricao)
}).Take(1);
aber dieser Code von Entity Framework-Core wie diese
SELECT
[lnk].[Id], [lnk].[Date], [lnk].[IdClub],
[lnk].[IdQuestionario], [lnk].[IdUser], [clube].[Id],
[clube].[ClubActual], [clube].[Date], [clube].[Nome],
[clube].[NomeNaCamisola], [clube].[NumNaCamisola], [clube].[Posicao],
[clube].[Situacao]
FROM
[LinkClubeUser] AS [lnk]
INNER JOIN
[Clube] AS [clube] ON [lnk].[IdClube] = [clube].[Id]
WHERE
[lnk].[IdUser] = N'9faea9f3-28d7-4e34-8572-3102726d3c75'
ORDER BY
[clube].[Id], [clube].[Nome], [clube].[NomeNaCamisola],
[clube].[NumNaCamisola], [clube].[Posicao], [clube].[Situacao],
[clube].[DataInscricao]
umgewandelt
Ich sehe die Gruppierung nach Klausel nicht.
Was ist falsch in meiner Entity Framework Core Abfrage?
Hallo Ryan, wenn ich versuche, einige clube Felder in der groupby zu entfernen, verliere ich diese, Feld in anonymous in der Auswahl unten. Beispiel Wenn ich den t.clube.Nome entferne, verliere ich den Nome = g.Key.Nome, – jolynice
Hallo jolynice, welche Felder möchten Sie gruppieren? Ich werde auf sie aktualisieren meine Antwort hängt – Ryan
Hallo Ryan, vielen Dank für Ihre Hilfe, in der Tat Ich brauche nur diese Felder t.clube.Nome, t.clube.NomeNaCamisola, t.clube.NumNaCamisola, t.clube. Posicao, t.clube.Situacao ,, – jolynice