Что такое .Net? – Объяснение .Net – AWS
Что такое .NET?
.NET – это платформа с открытым исходным кодом для создания настольных, мобильных и веб-приложений, которые могут работать в любой операционной системе. Система .NET включает в себя инструменты, библиотеки и языки, поддерживающие современную, масштабируемую и высокопроизводительную разработку программного обеспечения. Платформу .NET поддерживает и обслуживает активное сообщество разработчиков.
Проще говоря, платформа.NET – это программное обеспечение, которое может выполнять следующие задачи.
- Транслировать код языка программирования .NET в инструкции, которые может обрабатывать вычислительное устройство.
- Предоставлять утилиты для эффективной разработки программного обеспечения. С их помощью можно, например, определить текущее время или напечатать текст на экране.
- Определять набор типов данных для хранения на компьютере такой информации, как текст, числа и даты.
Что такое реализации .NET?
Различные реализации .NET позволяют выполнять код .NET в разных операционных системах, таких как Linux, macOS, Windows, iOS, Android и многих других.
Платформа .NET
Платформа .NET – это оригинальная реализация .NET. Он поддерживает запуск веб-сайтов, сервисов, настольных приложений и многого другого в Windows. Microsoft выпустила платформу .NET в начале 1990-х годов.
Ядро .NET
Microsoft запустила ядро .NET Core в конце 2014 года, чтобы обеспечить кроссплатформенную поддержку разработчиков .NET. Компания выпустила новейшую версию ядра .NET 5.0 в ноябре 2020 года и переименовала ее в .NET. Термин .NET в этой статье относится к .NET 5.0. .NET Core имеет открытый исходный код на GitHub.
.NET Standard
.NET Standard – это формальная спецификация различных функций (называемых API). Различные реализации .NET могут повторно использовать один и тот же код и библиотеки. Каждая реализация использует как стандартные API-интерфейсы . NET, так и уникальные API, специфичные для операционных систем, в которых она работает.
Каковы преимущества .NET?
Простота разработки
Разработчикам нравится использовать .NET, потому что эта технология включает в себя множество инструментов, облегчающих их работу. Например, с помощью пакета Visual Studio разработчики могут быстрее писать код, эффективно сотрудничать, а также тестировать и исправлять свой код. Возможность повторного использования кода между реализациями снижает стоимость разработки.
Высокопроизводительные приложения
Приложения .NET обеспечивают более быстрое время отклика и требуют меньше вычислительной мощности. Они имеют надежные встроенные меры безопасности и эффективно выполняют серверные задачи, такие как доступ к базе данных.
Поддержка сообщества
.NET имеет открытый исходный код, что означает, что любой может свободно использовать, читать и изменять его. Активное сообщество разработчиков поддерживает и совершенствует программное обеспечение . NET. .NET Foundation – это независимая некоммерческая организация, созданная для поддержки сообщества .NET. Сервис предоставляет учебные ресурсы, проекты с открытым исходным кодом .NET и различные мероприятия для разработчиков .NET.
Каковы компоненты архитектуры .NET?
.NET имеет модульную оптимизированную архитектуру. Пользователи могут выбирать различные компоненты в соответствии со своими требованиями к разработке программного обеспечения.
Вот три основных компонента .NET:
- Языки .NET
- Платформы моделей приложений
- Среда выполнения .NET
Разработчики используют языки программирования .NET и платформы моделей приложений для создания своих приложений .NET. Затем среда .NET выполняет и запускает их.
Что такое языки программирования .NET?
C# (произносится как си диез), F# (произносится как фа диез) и Visual Basic – это три языка, поддерживаемые Microsoft для разработки NET. Различные компании и разработчики также создали другие языки, которые работают с платформой .NET.
C#
C# – простой, современный и объектно-ориентированный язык программирования. Благодаря синтаксису, схожему с семейством языков C, C# знаком программистам, работающим на языках C, C++, Java и JavaScript.
F#
F# имеет легкий синтаксис и требует очень мало кода для сборки программного обеспечения. Это язык с открытым исходным кодом, который позволяет легко писать лаконичный, надежный и высокопроизводительный код. Он также имеет мощную систему правил программирования и удобную стандартную библиотеку для создания критически важного, правильного, быстрого и надежного программного обеспечения.
Визуальный базовый
Visual Basic – это объектно-ориентированный язык программирования, разработанный Microsoft. Использование Visual Basic позволяет быстро и легко создавать безопасные для типов приложения .NET. Безопасность типов – это степень, в которой язык программирования препятствует или предотвращает логические ошибки кодирования.
Языки общей языковой инфраструктуры (CLI)
Такие языки, как ClojureCLR, Eiffel, IronPython, PowerBuilder и многие другие, также работают на платформе .NET. Это связано с тем, что в .NET реализована инфраструктура общего языка (CLI). Интерфейс командной строки можно рассматривать как шаблон для создания языков, совместимых с расширением .NET.
Что такое среда .NET?
Среда выполнения .NET, также называемая средой выполнения общего языка (CLR), компилирует и выполняет программы .NET в разных операционных системах.
Своевременная компиляция
CLR компилирует код по мере написания разработчиком. Во время компиляции CLR переводит код на общий промежуточный язык (CIL). Например, код, написанный на C#, имеет английский синтаксис и слова. .NET компилирует или переводит этот код в CIL. Код CIL выглядит иначе, потому что это язык машинного кода более низкого уровня.
Исполнение
Среда выполнения .NET управляет выполнением кода CIL. CIL совместим с несколькими платформами, и его может обрабатывать любая операционная система. Кроссплатформенная совместимость означает способность приложения работать на нескольких разных операционных системах с минимальными изменениями. Например, приложение на языке C# может работать в Windows, Linux или macOS без каких-либо изменений кода. Такое приложение называется кроссплатформенным.
Что такое платформы моделей приложений .NET?
Платформы моделей приложений представляют собой набор инструментов и библиотек для разработчиков, которые поддерживают быструю и эффективную разработку проектов .NET. Существуют разные платформы для разных типов приложений, таких как перечисленные ниже.
Интернет-приложения
Платформа ASP .NET расширяет платформу разработчика .NET специально для создания веб-приложений. Она поддерживает такие веб-технологии, как обработка запросов на основе передачи состояния, HTML, CSS и JavaScript. Она предоставляет встроенную базу данных пользователей с многофакторной и внешней аутентификацией. ASP .NET поддерживает стандартные отраслевые протоколы аутентификации со встроенным механизмом безопасности для защиты приложений . NET от кибератак.
Мобильные приложения
Xamarin/Mono можно использовать для запуска приложений .NET во всех основных мобильных операционных системах, включая iOS и Android. Xamarin включает Xamarin.Forms, платформу мобильного пользовательского интерфейса с открытым исходным кодом. Разработчики .NET используют Xamarin.Forms для создания согласованного пользовательского интерфейса на всех мобильных платформах. Все приложения .NET могут выглядеть одинаково даже на разных мобильных устройствах.
Приложения для настольных ПК
Xamarin можно использовать для разработки настольных приложений. Кроме того, универсальная платформа Windows расширяет возможности разработки приложений .NET Windows 10. Windows Presentation Foundation и Windows Forms являются другими платформами для проектирования пользовательского интерфейса в Windows.
Другие приложения
С помощью ML.NET можно разрабатывать и интегрировать пользовательские модели машинного обучения в приложения .NET. Библиотеки .NET IoT можно использовать для разработки приложений на датчиках и других интеллектуальных устройствах. Для любых решений, недоступных на платформах, вы можете найти множество специальных библиотек функций в публичном репозитории NuGet. Вы можете использовать Nuget для создания, совместного использования и использования многих библиотек .NET практически для любых целей.
Как AWS может помочь разработчика .NET?
Разработчики .NET могут быстрее создавать приложения, используя .NET на AWS. В нем есть сервис для каждой работы, поэтому вы можете быстро создавать доказательства концепции, не беспокоясь об управлении инфраструктурой. Ниже приведены некоторые примеры сервисов AWS для разработки .NET.
- AWS Elastic Beanstalk занимается развертыванием приложений и операционными задачами.
- Сервис Amazon EC2 предоставляет безопасные и масштабируемые вычислительные ресурсы в облаке.
- Amazon Aurora автоматизирует администрирование баз данных.
Разработчики .NET также могут использовать инструменты и библиотеки AWS с открытым исходным кодом, например указанные ниже.
- AWS SDK для .NET упрощает разработчикам Linux и Windows создание приложений .NET.
- Репозиторий примеров кода AWS помогает ускорить понимание приложений, работающих с сервисами AWS.
- Цифровая библиотека .NET содержит архив видеороликов, учебных пособий, блогов и других ресурсов разработчика для разработчиков .NET.
С выпуском версии .NET 6 разработчики .NET могут еще больше воспользоваться производительностью и экономией средств AWS с Linux. Приложения .NET 6 уже могут использовать множество сервисов AWS без дополнительной работы. В этом руководстве описана поддержка .NET 6 от сервисов и инструментов AWS.
Вы можете начать работу с .NET на AWS, пройдя обучение .NET на AWS, создав приложения .NET на AWS или запустив свое первое приложение .NET на AWS.
ASP.NET — что это, как работает и зачем нужно, основы
Содержание
👉 В этом разделе мы на примерах разбираем сложные айтишные термины. Если вы хотите почитать вдохновляющие и честные истории о карьере в IT, переходите в другие разделы.
ASP.NET — свободно распространяемая платформа для разработки динамических сайтов и веб-приложений, созданная компанией Microsoft и являющаяся частью NET.Framework. Она является дальнейшим развитием более старой технологии Microsoft ASP и сохранила многие ее некоторые внешние признаки и функции, что упрощает переход разработчиков на использование нового инструмента.
Разработка АСП.НЕТ началась в 1997 году, когда Microsoft начала поиск новой модели веб-приложения. Первая версия была выпущена одновременно с платформой .NET Framework и позволяет писать веб-приложения и сайты на любом языке, поддерживаемом .NET. С помощью этой технологии были реализованы многие крупные веб-проекты, в том числе основной сайт разработчика, компании Microsoft.
Альтернативной модификацией этой платформы является ASP.NET Core — кроссплатформенный фреймворк с открытым исходным кодом для разработки веб-приложений. Хотя в его структуре применены иные архитектурные решения, обеспечивающие большую модульность и производительность по сравнению с предшественником, в целом оба этих продукта реализует одни и те же концепции программирования.
IT-специалист с нуля
курс
от 8 месяцев
IT-специалист с нуля
Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.
от 8 месяцев
6 983 ₽/мес.
4 190 ₽/мес.
Подробнее
6 983 ₽/мес.
4 190 ₽/мес.
Что такое ASP.NETПлатформа разрабатывалась как альтернатива другому популярному инструменту веб-разработки под названием Java. Изначально опытные версии Microsoft ASP.
Использование общеязыковой среды исполнения означает, что код, написанный веб-программистом на любом языке программирования, работает в два этапа:
- сначала компилируется в промежуточный язык Microsoft Intermediate Language — то есть независимо от того, на каком языке изначально была написана веб-страница, она превращалась в унифицированный документ;
- затем полученная сборка на IL компилируется в низкоуровневый машинный код, который и исполняется в режиме just-in-time, то есть непосредственно перед запуском приложения.
Перед компиляцией в низкоуровневый машинный код компилятор определяет тип операционной системы и ее разрядность. Благодаря этому программисты могут создавать единый код на высокоуровневом языке для всех распространенных платформ.
Созданные в платформе ASP.NET приложения компилируются в IL только один раз, повторная компиляция осуществляется только в том случае, если в исходный код были внесены изменения. А машинный код кэшируется в системном каталоге. При этом, если приложение создается в Visual Studio, его код переписывается в IL в рамках общей компиляции проекта. Однако код веб-сайта, созданный вне какого-либо проекта, компилируется постранично при первом запросе конкретной страницы. В любом случае преобразование IL-кода приложения в машинный происходит при первом же выполнении.
В ASP.NET реализована модель объектно-ориентированного программирования. Благодаря этому она дает разработчику доступ ко всем объектам в .NET Framework. Также данная модель обеспечивает:
- создание повторно применяемых классов, которые упрощают и ускоряют написание кода;
- стандартизацию кода с использованием интерфейсов;
- расширение существующих классов путем наследования;
- объединение полезных функций в скомпилированный компонент, который можно распространять отдельно.
Другая возможность, обусловленная объектно-ориентированной моделью программирования, заключается в серверных элементах управления. Они представляют собой инкапсулированные объекты, которыми разработчики могут манипулировать с помощью кода для настройки их облика, предоставления данных и реакции на события. HTML-разметка низкого уровня, визуализируемая этими компонентами управления, скрыта. Благодаря этому разработчики могут не писать ее самостоятельно — вместо этого инкапсулированные объекты самостоятельно переписываются в соответствующие HTML-элементы после того, как веб-страница будет визуализирована.
Во фреймворке ASP.NET реализованы три инструмента для разработки различных веб-приложений. Каждый из них предлагает свой стиль программирования, выбор между которыми определяется типом создаваемого веб-приложения, знаниями и навыками программиста.
ASP.NET Web Forms. Эта платформа предназначена для разработки сайтов путем перетаскивания объектов и управления событиями. Фактически это визуальный конструктор веб-страниц. Благодаря наличию области конструирования и широкому набору компонентов и элементов управления можно быстро разрабатывать комплексные сайты с полноценным интерфейсом пользователя и доступом к данным. Подходит программистам, владеющим средним и расширенным уровнем быстрой разработки приложений.
ASP.NET MVC.
ASP.NET WEB API. Этот фреймворк упрощает разработку служб HTTP для множества клиентов, таких как веб-браузеры и мобильные устройства. ASP.NET Web API позволяет создавать разметку HTML и основной код одновременно в одном и том же файле — это классическая модель разработки, оставшаяся еще с эпохи появления интернета. Тем не менее она идеально подходит для сборки легко масштабируемых приложений на основе платформы .NET Framework. Чаще всего эта платформа используется новичками или программистами среднего уровня.
Все три платформы представляют собой полностью завершенные и стабильные компоненты. Независимо от того, какой именно подход к программированию выбрал разработчик, он получает в свое распоряжение все возможности ASP.NET.
Помимо этих основных платформ в состав ASP.NET WEB API входят:
- Web Pages (сейчас Razor) — механизм просмотра с упрощенным синтаксисом, позволяющий добавить динамический код и доступ к данным в HTML-разметку страницы;
- WebHooks — версия шаблона Webhook, позволяющая подписываться на события и публиковать их через HTTP-протокол;
- СигналR — открытая программная библиотека, которая позволяет серверному коду отправлять асинхронные уведомления клиентским веб-приложениям;
- HTTP-handler — обработчик запросов, поступающих веб-приложению, который представляет собой файл с программным кодом, написанным на любом из . NET-совместимых языков, без HTML-разметки, обработки событий и прочих вспомогательных технологий;
- ASP.NET AJAX — расширение с клиентскими и серверными компонентами для разработки страниц с фоновым обменом информацией между веб-браузером и сервером;
- Dynamic Data — компонент для создания веб-приложений, взаимодействующих с базами данных.
Производительность. Код приложения или страницы, созданных с помощью этой платформы, компилируется по необходимости. Кроме того, компиляция осуществляется только один раз, а машинный код сохраняется в системные папки. В совокупности это существенно повышает производительность платформы, особенно по сравнению с аналогами, доступными на момент выпуска первой версии.
Минимизация ошибок. Большинство ошибок в исходном коде «отлавливается» платформой еще на стадии разработки. Однако, даже если какие-то баги будут пропущены системой в готовый код, они обрабатываются непосредственно при выполнении запущенной программы. Это, с одной стороны, упрощает процесс разработки, так как программисту не приходится искать ошибки вручную. С другой — повышает стабильность работы приложения за счет устранения критических багов.
Мультиязычность. Приложения в ASP.NET можно писать на большинстве современных распространенных языков программирования, так как все они поддерживаются «материнской» платформой .NET Framework. Исходный код программы преобразуется в промежуточный, который уже затем компилируется в машинный код. Благодаря поддержке множества языков программирования ASP.NET становится действительно универсальной платформой, доступной для использования программистами, изучающими разные языки программирования.
Привязка к Windows. Хотя ASP.NET разрабатывается и поддерживается Microsoft, является собственностью этой корпорации, она доступна для использования на ПК с операционными системами MacOS и Linux. Это существенно расширяет число программистов, которые могут использовать эту платформу для создания веб-приложений.
Использование повторяющегося кода. Благодаря таким функциям, как повторно применяемые классы и шаблоны, программисту не обязательно переписывать код повторяющихся элементов веб-приложения. С одной стороны, это делает разработку более быстрой и удобной, с другой — снижает вероятность появления ошибок (достаточно один раз отладить повторяющийся элемент).
Простота разработки. ASP.NET создана в рамках основного подхода Microsoft к программированию как к максимально простому процессу, многие функции и стадии которого можно автоматизировать. Широкий набор элементов управления, инкапсулируемые объекты, преобразующиеся в HTML-разметку, шаблоны и другие возможности значительно упрощают создание веб-приложений, в том числе комплексных. Наличие в ASP.NET нескольких платформ позволяет программисту выбрать инструменты, соответствующие его уровню знаний и навыков.
Многофункциональность. ASP.NET обладает широким набором различных функций, компонентов, элементов управления, шаблонов страниц и т. д. Благодаря этому с помощью фреймворка можно разрабатывать сайты и веб-приложения различного размера и структуры, придавать им уникальный облик, тестировать готовые продукты и выполнять подавляющее большинство операций, связанных с разработкой. Кроме того, функционал платформы можно расширить путем установки дополнительных расширений и интеграции с .NET.Framework.
Зависимость от поставщика. ASP.NET полностью разрабатывается и поддерживается корпорацией Microsoft. Из-за этого задержка с выпуском важных обновлений (например, в безопасности) может повлиять на продолжительность разработки или качество конечного веб-приложения.
Недостаточная производительность при разработке небольших сайтов. Если сайт разрабатывается без использования Visual Studio, каждая его страница компилируется отдельно при отправлении к ней запроса. Это несколько снижает производительность небольших сайтов. В то же время этого недостатка нет при разработке больших комплексных проектов, так как в них страницы компилируются сразу.
В момент своего появления в 2002 году ASP.NET стала настоящим прорывом по сравнению не только со своей предшественницей ASP, но и с многими другими аналогами от сторонних разработчиков. Многие широко используемые сегодня идеи и модели веб-программирования впервые были реализованы именно в этой платформе. До сих пор она остается одним из самых популярных фреймворков для создания веб-приложений различного типа — от небольших одностраничных сайтов до комплексных и сложных проектов. В то же время развитие других сред разработки сделало преимущества ASP.NET не такими актуальными, что привело к созданию ее альтернативной модификации ASP Core, отличающейся модульностью и повышенной производительностью.
IT-специалист с нуля
курс
от 8 месяцев
IT-специалист с нуля
Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.
от 8 месяцев
6 983 ₽/мес.
4 190 ₽/мес.
Подробнее
6 983 ₽/мес.
4 190 ₽/мес.
Что такое .NET? Платформа для разработчиков с открытым исходным кодом.
.NET — это платформа разработчиков с открытым исходным кодом, созданная Microsoft для создания множества различных типов приложений.
.NET
.NET — это бесплатная кроссплатформенная платформа с открытым исходным кодом для разработчиков, предназначенная для создания различных типов приложений.
Благодаря .NET вы можете использовать несколько языков, редакторов и библиотек для создания приложений для Интернета, мобильных устройств, компьютеров, игр, Интернета вещей и многого другого.
Языки
Вы можете писать приложения .NET на C#, F# или Visual Basic.
- C# — это простой, современный, объектно-ориентированный и типобезопасный язык программирования.
- F# — это язык программирования, который упрощает написание лаконичного, надежного и производительного кода.
- Visual Basic — это доступный язык с простым синтаксисом для создания типобезопасных объектно-ориентированных приложений.
Узнайте о языках .NET
Кросс-платформенный
Независимо от того, работаете ли вы на C#, F# или Visual Basic, ваш код будет выполняться изначально в любой совместимой операционной системе. С помощью .NET можно создавать множество типов приложений. Некоторые из них являются кроссплатформенными, а некоторые предназначены для определенного набора операционных систем и устройств.
Один согласованный API
.NET предоставляет стандартный набор библиотек базовых классов и API, общих для всех приложений .NET.
Каждая модель приложения может также предоставлять дополнительные API, характерные для операционных систем, в которых оно работает, или предоставляемых им возможностей. Например, ASP.NET — это кроссплатформенная веб-инфраструктура, предоставляющая дополнительные API для создания веб-приложений, работающих в Linux или Windows.
Узнайте о стандартных библиотеках .NET
Библиотеки
Для расширения функциональности Microsoft и другие компании поддерживают здоровую экосистему пакетов .NET.
NuGet — это диспетчер пакетов, созданный специально для .NET и содержащий более 100 000 пакетов.
Модели приложений
С помощью .NET можно создавать приложения многих типов. Чтобы помочь вам быстрее создавать приложения, модели приложений создаются на основе базовых библиотек.
Web
Создавайте веб-приложения и сервисы для Linux, Windows, macOS и Docker.
Mobile
Используйте единую кодовую базу для создания собственных мобильных приложений для iOS, Android и других устройств.
Рабочий стол
Создавайте собственные приложения для Windows и macOS или создавайте приложения, которые работают где угодно, с помощью веб-технологий.
Микросервисы
Создавайте независимо развертываемые микросервисы, работающие в контейнерах Docker.
Облако
Используйте существующие облачные службы или создавайте и развертывайте свои собственные.
Машинное обучение
Добавьте в свои приложения алгоритмы машинного зрения, обработку речи, прогностические модели и многое другое.
Разработка игр
Разработка 2D- и 3D-игр для самых популярных настольных компьютеров, телефонов и консолей.
Интернет вещей
Создавайте приложения IoT со встроенной поддержкой Raspberry Pi и других одноплатных компьютеров.
100 000+ Вклад OSS 3700+ Авторы компании OSS
Активное сообщество и открытый исходный код
.NET имеет открытый исходный код и находится под управлением .NET Foundation. .NET Foundation — это независимая организация, способствующая открытой разработке и сотрудничеству в рамках экосистемы .NET.
Поскольку исходный код .NET является открытым, вы можете присоединиться к тысячам разработчиков и компаний, которые уже вносят свой вклад в платформу .NET.
Получите быстрые ответы на вопросы от активного сообщества разработчиков на Stack Overflow.
Присоединяйтесь к сообществу .NET
Инструменты
Семейство продуктов Visual Studio обеспечивает отличные возможности разработки .NET в Linux, Windows и macOS.
В Visual Studio Marketplace есть тысячи расширений редактора от Microsoft и других компаний.
Если вы предпочитаете использовать другой редактор, для многих популярных редакторов существуют инструменты командной строки и подключаемые модули .NET.
Узнайте об инструментах для .NET
Почему стоит выбрать .NET?
Узнайте, почему клиенты во всем мире в самых разных отраслях доверяют .NET.
Почему стоит выбрать .NET?
Что такое Entity Framework?
До .NET 3.5 мы (разработчики) часто использовали код ADO.NET или блок доступа к корпоративным данным для сохранения или извлечения данных приложения из базовой базы данных. Раньше мы открывали соединение с базой данных, создавали набор данных для извлечения или отправки данных в базу данных, преобразовывали данные из набора данных в объекты .NET или наоборот для применения бизнес-правил. Это был громоздкий и подверженный ошибкам процесс. Microsoft предоставила платформу под названием «Entity Framework» для автоматизации всех этих действий, связанных с базой данных, для вашего приложения.
Entity Framework — это платформа ORM с открытым исходным кодом для приложений .NET, поддерживаемая Microsoft. Это позволяет разработчикам работать с данными, используя объекты классов, специфичных для предметной области, не сосредотачиваясь на базовых таблицах и столбцах базы данных, в которых хранятся эти данные. С помощью Entity Framework разработчики могут работать с данными на более высоком уровне абстракции, а также создавать и поддерживать приложения, ориентированные на данные, с меньшим объемом кода по сравнению с традиционными приложениями.
Официальное определение: «Entity Framework — это объектно-реляционный преобразователь (O/RM), который позволяет разработчикам .NET работать с базой данных, используя объекты .NET. Это устраняет необходимость в большей части кода доступа к данным, который обычно приходится писать разработчикам».
На следующем рисунке показано, как Entity Framework вписывается в ваше приложение.
Как показано на рисунке выше, Entity Framework помещается между бизнес-сущностями (доменными классами) и базой данных. Он сохраняет данные, хранящиеся в свойствах бизнес-объектов, а также извлекает данные из базы данных и автоматически преобразует их в объекты бизнес-объектов.
Функции Entity Framework
- Кроссплатформенность: EF Core — это кроссплатформенная платформа, которая может работать в Windows, Linux и Mac.
- Моделирование: EF (Entity Framework) создает EDM (модель данных объекта) на основе сущностей POCO (обычный старый объект CLR) со свойствами получения/установки различных типов данных. Он использует эту модель при запросе или сохранении данных объекта в базовой базе данных.
- Запросы: EF позволяет нам использовать запросы LINQ (C#/VB.NET) для извлечения данных из базовой базы данных. Поставщик базы данных преобразует эти запросы LINQ в язык запросов для конкретной базы данных (например, SQL для реляционной базы данных). EF также позволяет нам выполнять необработанные SQL-запросы непосредственно к базе данных.
- Отслеживание изменений: EF отслеживает изменения, произошедшие с экземплярами ваших сущностей (значения свойств), которые необходимо отправить в базу данных.
- Сохранение: EF выполняет команды INSERT, UPDATE и DELETE для базы данных на основе изменений, произошедших с вашими сущностями при вызове метода SaveChanges() . EF также предоставляет асинхронный метод
SaveChangesAsync()
. - Concurrency: EF по умолчанию использует оптимистичный параллелизм для защиты от перезаписи изменений, сделанных другим пользователем после извлечения данных из базы данных.
- Транзакции: EF выполняет автоматическое управление транзакциями при запросе или сохранении данных. Он также предоставляет параметры для настройки управления транзакциями.
- Кэширование: EF изначально включает первый уровень кэширования. Таким образом, повторный запрос вернет данные из кеша, а не попадет в базу данных.
- Встроенные соглашения: EF следует соглашениям, а не шаблону программирования конфигурации, и включает набор правил по умолчанию, которые автоматически настраивают модель EF.
- Конфигурации: EF позволяет нам настроить модель EF, используя атрибуты аннотаций данных или Fluent API для переопределения соглашений по умолчанию.
- Миграции: EF предоставляет набор команд миграции, которые можно выполнять в консоли диспетчера пакетов NuGet или в интерфейсе командной строки для создания базовой схемы базы данных или управления ею.
Последние версии Entity Framework
Microsoft представила Entity Framework в 2008 году с .NET Framework 3.5. С тех пор было выпущено множество версий Entity Framework. В настоящее время существует две последние версии Entity Framework: EF 6 и EF Core. В следующей таблице перечислены важные различия между EF 6 и EF Core.