.NET Entity Framework, чистый способ реализовать это?

1

В настоящее время я изучаю LINQ, особенно SQL-запросы, с инфраструктурой сущности. Раньше я писал собственные SQL-запросы, и я реализовал его с одним классом в моих проектах под названием "SQL_Connection" или что-то в этом роде. Поэтому у меня были все мои SQL-процедуры, хранящиеся в одном классе.

Теперь, когда я хочу научиться структуре сущности правильным и чистым способом с самого начала, я спрашиваю себя, где я помещаю все эти linq-процедуры, которые я создаю во время проекта. Разве опытные люди помещают их в класс файл связанного класса или используют большой sql-класс, где хранятся все эти процедуры?

  • 3
    самый чистый? программирование не включает в себя "est" вещи!
Теги:
linq
entity-framework

2 ответа

0
Лучший ответ

Я спрашиваю себя, где я помещаю все те linq-процедуры, которые я создаю во время проекта.

Где вы их создаете.

Если вы не полностью игнорируете.NET, у вас будет запрос TON LINQ, и только SOME будет связан с EF - синтаксис будет таким же. Вы будете использовать LINQ в своем коде для суммирования и агрегирования в массивах памяти и многого.

Красота LINQ заключается в том, что все изменения в базовом провайдере изолированы и/или проверены компилятором, поэтому нет необходимости иметь все в одном месте "в случае, если я переименую таблицу".

Я поддерживаю LINQ там, где мне это нужно. Это позволяет мне изолировать слои без родительского класса всех запросов. Особенно, поскольку некоторые из запросов LINQ представляют собой многоступенчатые запросы, включающие один или несколько данных, а затем группировку и корреляцию в памяти.

Серьезно, что "один класс для всех" (sql) является артефактом того факта, что SQL является строкой, поэтому в случае изменения базы данных вам нужно найти весь SQL, который касается этого измененного элемента, и, пожалуйста, не пропуская тонны кода. Это не обязательно для LINQ.

  • 0
    Спасибо за ответ! Если честно, я 3 года являюсь разработчиком программного обеспечения .NET и никогда не связывался с LINQ. Вот почему мне трудно понять, как правильно его использовать. Итак, вы собираетесь сказать, что лучше запросить список с моими объектами из SQL, а потом я собираюсь выбрать все необходимое с помощью LINQ?
  • 0
    Нет. Поскольку LINQ отложил выполнение, ваш интерфейс предоставляет IQueryable, и фильтрация может быть выполнена там, где вы хотите. Только когда данные действительно запрашиваются, запрос будет выполнен. Основы Linq - прежде чем спрашивать, как это можно сделать красиво, сначала изучите, что он МОЖЕТ сделать.
0

Это до вашего удовольствия. Отвечая на вопрос: создайте классы BLL для вашего связанного набора объектов. Тем самым незначительные изменения не заставят вас зудеть. Предположим, вы добавили новый столбец в таблицу, так как работа с этой таблицей (и другими связанными друг с другом) легко работает, правильно? Избегайте слишком больших файлов. Старайтесь оставаться модульными и т.д.

Если вам нужно прочитать, ознакомьтесь с этой ссылкой Wiki о архитектуре MVC.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню