私は可能な解決策を探していて、これを数時間試してみましたが、うまくいきませんでした。どんな助けでも大歓迎です。
C# LINQ クエリとしてまとめようとしている Sql ステートメントがあります。
作業中の SQL は次のとおりです。
SELECT up.UserProfileID
,up.FirstName
,up.LastName
,SUM(CASE WHEN ul.CompletionDate IS NULL THEN 0
ELSE ISNULL(ul.Score, 0)
END) AS TotalScore
FROM dbo.UserProfile up
LEFT OUTER JOIN dbo.UserLearning ul ON up.UserProfileID = ul.UserProfileID
WHERE up.ManagerUserProfileID IS NULL
GROUP BY up.UserProfileID, up.FirstName, up.LastName
いくつかの異なる方法を試しましたが、最終的には、必要なものを返さないか、正常に実行されないステートメントになるようです
私の現在の(動作していない)コードは次のようになります。
var pd = from up in db.UserProfiles
join ul in db.UserLearnings on up.UserProfileID equals ul.UserProfileID into temp
from upJOINul in temp.DefaultIfEmpty(new UserLearning() { Score = 0 })
where up.ManagerUserProfileID.Equals(null)
group up by new
{
UserProfileID = up.UserProfileID,
FirstName = up.FirstName,
LastName = up.LastName,
TotalScore = up.UserLearnings.Sum(u => u.Score)
};
助けてくれてありがとう