Hallo ich unten Code haben alsWie Durchschnittliche Bewertung in Entity Framework
var query = (from R in db.Registrations
join c in db.Campus
on R.CampusId equals c.CampusId
from tsr in db.TutorStudentRequests.Where(t => t.TutorId == R.RegistrationId).DefaultIfEmpty()
where R.UserTypeId == 2 && tsr.StatusId!=3
orderby R.Name ascending
select new
{
RegistrationId = R.RegistrationId,
Name = R.Name,
Email = R.Email,
Phone = R.Phone,
Password = c.CampusName,
IsGPA = R.IsGPA,
IsActive = R.IsActive,
StripeId = R.StripeId,
CreatedOn = R.CreatedOn,
UserTypeId =tsr.StudentReviewRating
})
.ToList();
bekommen I Registrierungstabelle mit einreihigen haben und ich auch eine andere Tabelle TutorStudentRequests haben, die mehrere Zeilen haben. Wie kann ich den Durchschnitt des Spaltennamens StudentReviewRating in der TutorStudentRequests-Tabelle erhalten?
Struktur kann zu sein scheinen als:
Registrierung Tabelle
RegistrationId Name Email
1 abc [email protected]
2 xyz [email protected]
TutorStudentRequests Tabelle
Id TutorId(RegistrationId of F.k.) StudentReviewRating
1 1 5
2 1 2
3 1 1
4 2 3
Ich möchte UserTypeId Daten als durchschnittlich StudentReviewRating für jede TutorId
Versuchte
var query = (from R in db.Registrations
join c in db.Campus
on R.CampusId equals c.CampusId
from tsr in db.TutorStudentRequests.Where(t => t.TutorId == R.RegistrationId).DefaultIfEmpty()
where R.UserTypeId == 2 && tsr.StatusId != 3
group R by new
{
R.RegistrationId,
R.Name,
R.Email,
R.Phone,
c.CampusName,
R.IsGPA,
R.IsActive,
R.StripeId,
R.CreatedOn,
} into groupings
select new
{
RegistrationId = groupings.Key.RegistrationId,
Name = groupings.Key.Name,
Email = groupings.Key.Email,
Phone = groupings.Key.Phone,
Password = groupings.Key.CampusName,
IsGPA = groupings.Key.IsGPA,
IsActive = groupings.Key.IsActive,
StripeId = groupings.Key.StripeId,
CreatedOn = groupings.Key.CreatedOn,
Average = groupings.Average(p=>Convert.ToDecimal(p.StudentReviewRating))
});
Aber es sagt Registrierung keine Definition für 'StudentReviewRating' enthält ..
Was ist falsch?
Warum 'entity-framework' Tag, wenn Sie Abfragen mit Joins von Hand schreiben? Lernen Sie, * Navigationseigenschaften * zu verwenden, und die betreffende Abfrage ist trivial. –