Ich versuche, eine Abfrage in meiner .net-Umgebung ausführen,SQL-Abfrage Konvertieren entspricht Linq
so ist, dass ich es in dem Linq-Äquivalent dieser Umwandlung die SQL-Abfrage
SELECT
INFOCENTRE.dbo.issi_ressource.ressourec_text1,
INFOCENTRE.dbo.issi_temps.annee_saisie,
INFOCENTRE.dbo.issi_temps.mois_saisi,
INFOCENTRE.dbo.issi_temps.semaine_saisie,
INFOCENTRE.dbo.issi_temps.jour_saisi,
INFOCENTRE.dbo.issi_engagement.engagement_nom,
INFOCENTRE.dbo.issi_projet.projet_nom,
INFOCENTRE.dbo.issi_tache.tache_nom,
(sum(INFOCENTRE.dbo.issi_temps.nbre_jour))/8
FROM
INFOCENTRE.dbo.issi_ressource INNER JOIN INFOCENTRE.dbo.issi_temps ON (INFOCENTRE.dbo.issi_temps.ressource_id=INFOCENTRE.dbo.issi_ressource.ressource_id)
INNER JOIN INFOCENTRE.dbo.issi_tache ON (INFOCENTRE.dbo.issi_temps.tache_id=INFOCENTRE.dbo.issi_tache.tache_id)
INNER JOIN INFOCENTRE.dbo.issi_projet ON (INFOCENTRE.dbo.issi_projet.projet_id=INFOCENTRE.dbo.issi_tache.projet_id)
INNER JOIN INFOCENTRE.dbo.issi_engagement ON (INFOCENTRE.dbo.issi_projet.engagement_id=INFOCENTRE.dbo.issi_engagement.engagement_id)
WHERE
(
INFOCENTRE.dbo.issi_tache.tache_nom NOT IN ('Control for Complement day or week', 'Holidays (for internal only)', 'Miscellaneous absences (for internal only)', 'Part time (for internal only)', 'Sick time and job injuries (for internal only)')
AND INFOCENTRE.dbo.issi_ressource.ressourec_text1 = 'EDCL'
AND INFOCENTRE.dbo.issi_temps.jour_saisi >= '2016-03-01'
AND INFOCENTRE.dbo.issi_temps.jour_saisi < '2016-04-01'
)
GROUP BY
INFOCENTRE.dbo.issi_ressource.ressourec_text1,
INFOCENTRE.dbo.issi_temps.annee_saisie,
INFOCENTRE.dbo.issi_temps.mois_saisi,
INFOCENTRE.dbo.issi_temps.semaine_saisie,
INFOCENTRE.dbo.issi_temps.jour_saisi,
INFOCENTRE.dbo.issi_engagement.engagement_nom,
INFOCENTRE.dbo.issi_projet.projet_nom,
INFOCENTRE.dbo.issi_tache.tache_nom
und die folgenden bisher konvertierte ich habe:
from ressource in context.issi_ressource
join temps in context.issi_temps on ressource.ressource_id equals temps.ressource_id
join tache in context.issi_tache on temps.tache_id equals tache.tache_id
join projet in context.issi_projet on tache.projet_id equals projet.projet_id
join engagement in context.issi_engagement on projet.engagement_id equals engagement.engagement_id
where
ressource.ressourec_text1 == "EDCK" &&
temps.jour_saisi <= new DateTime(2016, 03, 01) &&
temps.jour_saisi < new DateTime(2016, 04, 01) &&
tache.tache_nom != "Control for Complement day or week" &&
tache.tache_nom != "Holidays (for internal only)" &&
tache.tache_nom != "Miscellaneous absences (for internal only)" &&
tache.tache_nom != "Part time (for internal only)" &&
tache.tache_nom != "Sick time and job injuries (for internal only)"
group ressource by new {
ressource.ressourec_text1,
temps.annee_saisie,
temps.mois_saisi,
temps.semaine_saisie,
temps.jour_saisi,
engagement.engagement_nom,
projet.projet_nom,
tache.tache_nom
} into res
select res;
aber jetzt versuche ich die nbre_jour
Summe von 8 geteilt zu bekommen, hat jemand irgendwelche Hinweise auf, wie dies zu tun?
erfordern würde wirklich Sie sollen versuchen, die Navigationseigenschaften verwenden anstelle von Joins, wenn Sie Linq wechseln https://coding.abel.nu/2012/06/dont-use-linqs-join-navigate/ – juharr
es ist nicht meine Datenbank, und keine FK sind gemacht, also muss ich es so machen: / – Kiwi