Обложка канала

.NET Разработчик

Опытный разработчик не так давно зашёл в .Net и поставил цель получить сертификат Microsoft. Свой ежедневный прогресс он описывает на канале .Net Разработчик. Заметки об изученном материале, советы по повышению производительности и поддержке мотивации, ин

.NET Разработчик

4 года назад
Открыть в
День 1455. #ЧтоНовенького EF8: Необработанные SQL-Запросы на Несвязанные Типы На прошлой неделе мы подробно рассматривали новые функции C#11, появившиеся прошедшей осенью. Пора уже заглянуть в будущее. Сегодня посмотрим, что нас ждёт в следующей версии Entity Framework. Следующая, восьмая, версия Entity Framework должна получить новую интересную функцию: поддержку необработанных SQL-запросов без предварительного определения типа объекта результата в DbContext. Это означает меньше шаблонного кода! До сих пор приходилось создавать сопоставление для типов, возвращаемых из SqlQueryRaw. В Entity Framework 8 это будет выглядеть немного иначе, с чем нам поможет новая функция:
context.Database.SqlQueryRaw<MyUnmappedType>
 (@"SELECT * FROM SomeTableOrView");

Это особенно удобно, если вы работаете с большим количеством SQL-представлений или чистого SQL. До сих пор вам приходилось внутри DbContext правильно сопоставлять типы CLR с типом результата SQL-выражения. Теперь это должно происходить по соглашению. Несколько замечаний об ограничениях этой функции: - тип сущности не может иметь отношений; - свойства сопоставляются по соглашению с соблюдением атрибутов сопоставления; - типы сущностей не должны иметь ключа. Обсуждение этой функции на GitHub началось ровно 5 лет назад. Наконец, она добралась до кандидата. Источник: https://steven-giesel.com/blogPost/d1f069fb-7f6d-4f80-a98f-734755474ae1