Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Добрый день, я только недавно начал изучать EF и прекрасно понимаю что скорее всего я чего-то не понял в статье, по этому прошу объяснить в чем я не прав.

я так понимаю что для сложного запроса класс Product из простого запроса был модифицирован в

class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    public int CategoryId { get; set; }
}

Мои скромные познания заключаются в том что анонимные типы очень неудобны в дальнейшей разработке и я стараюсь их избегать если это возможно, по этому я бы модифицировал класс Product вот так:

class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    public int CategoryId { get; set; }
    public Category Category { get; set; }
}

при этом свойство CategoryId может быть создано самим EF как shadow property и удалено из класса, если оно используется только для связи таблиц

Для приведенного выше случая существует намного более удобный LINQ запрос и хотелось бы узнать преимущества Query-синтаксиса

var result = products
    .Include(p => p.Category)
    .Where(p => p.Price > 50);

P. S. Или хотелось бы узнать почему в приведенных в статье примерах класс Product не может иметь свойство Category

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность