LINQ znajdowanie elementów według listy ID

0

Witam,

Mam problem ze stworzeniem zapytania które zwraca listę elementów o określonych id podanych w liście,
poniżej przesyłam kod który oczywiście działa jednak chce zaprezentować problem jaki mnie użera.
Czy powinienem przed wysłaniem zapytania sprawdzać czy podana lista ID nie jest przypadkiem NULL czy to nie ma sensu?

public List<SubjectViewModel> GetSubjectsByListId(List<int> Subjects_Id)
        {
            using (var db = this.context.CreateNew())
            {
                var guery = db.Subjects
                    .Where(x => x.Subject_Id == Subjects_Id)
                    .Select(x => new SubjectViewModel
                    {
                        Subject_Id = x.Subject_Id,
                        Name = x.Name,
                        ShortName = x.ShortName,
                        GroupLeader = x.GroupLeader
                    }).ToList();

                return guery;
            }
        } 
0

przy okazji spytam czy kod poniżej do tego przykładu tez jest prawidłowo napisany, badź czy można to zrobić schludniej?

 public ClassroomViewModel GetClassroomById(int Classroom_Id)
        {
            using (var db = this.context.CreateNew())
            {
                var guery = db.Classrooms
                    .Where(x => x.Classroom_Id == Classroom_Id)
                    .Select(x => new ClassroomViewModel
                    {
                        Classroom_Id = x.Classroom_Id,
                        Name = x.Name,
                        ShortName = x.ShortName,
                        Capacity = x.Capacity,
                        Subject = x.Subject_Id == null ? null : subjects.GetSubjectById((int)x.Subject_Id),
                        Subejcts = x.Subjects1 == null ? null : subjects.GetSubjectsByListId(x.Subjects1.Select(i => i.Subject_Id).ToList())
                    }).FirstOrDefault();

                return guery;
            }
        }
1
pawel321100 napisał(a):

Czy powinienem przed wysłaniem zapytania sprawdzać czy podana lista ID nie jest przypadkiem NULL czy to nie ma sensu?

Jeśli nie sprawdzisz, a lista będzie null, to dostaniesz brzydki NullReferenceException, i po co Ci to?
Lepiej sprawdzić wartość argumentu, i rzucić ArgumentNullException.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.