@IvanSerachev

Как определить список?

Решаю обучающую задачку на применение LINQ. Создал небольшую локальную БД через код, после чего задача написать пару методов на подсчет и вывод данных по условию. С последним возникли трудности. Цель следующая - есть две таблицы Юниты и Емкости. Нужно вывести все юниты, принадлежащие определенной емкости.

Я меня получается вывести все емкости, принадлежащие юниту, но при попытке вывести наоборот, компилятор ругается на отсутствие ссылки на объект. Если я правильно понимаю, то надо как то заранее определить List... Но как? Вроде он итак уже определен при создании Unit...

Вот так определены таблицы:
public class Unit
    {
        public int Id { get; set; }
        public string UnitName { get; set; }
        public ICollection<Tank> Tanks { get; set; }

        public Unit()
        {
            Tanks = new List<Tank>();
        }
        public Factory Factory { get; set; }

    }
    public class Tank
    {
        public int Id { get; set; }
        public string TankName { get; set; }
        public double Volume { get; set; }
        public int Capacity { get; set; }
        public Unit Unit { get; set; }
    }
// Сам метод:
       public static void FindUnit()
        {
            
            using(var db=new FactoryContext())
            {
                
                var tanks = db.Tanks.Where(tank => tank.TankName == "Резервуар 1");       
                         
                foreach (Tank tank in tanks)
                {
                    Console.WriteLine(tank.Unit.UnitName);
                }
                      
            }
        }
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
insighter
@insighter
-First time? - Huh? (C#, React, JS)
Вам все коллекции необходимо создать

public ICollection Tanks { get; set; } = new List<Tank>;

и так далее..
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы