EF7 beta8 FromSQL

59
9

Для запроса SQL-запроса EF7 FromSQL для получения списка сущностей.

var accounts = _context.Set<Account>().FromSql("SELECT TOP 10 * FROM Account WITH  
(NOLOCK)").ToList();

это выше вернет список сущностей, но для определенного условия.

var report = _context.Set<AccountReport>().FromSql("SELECT a.Id, a.Username, p.Item,
p.Quantity FROM Account AS a WITH (NOLOCK) INNER JOIN Purchase AS p WITH (NOLOCK) ON
p.AccountId = a.Id WHERE p.CreatedOn BETWEEN '2015-11-01' AND '2015-12-01').ToList();

Модель "AccountReport" не является моделью сущности, она столкнется с этим сообщением об ошибке.

Ошибка:

Microsoft.Data.Entity.Metadata.ModelItemNotFoundException 'произошел в EntityFramework.Core.dll, но не был обработан в коде пользователя

Дополнительная информация: Тип объекта "AccountReport" не найден. Убедитесь, что тип объекта добавлен в модель.

спросил(а) 2015-11-15T16:58:00+03:00 4 года, 11 месяцев назад
1
Решение
82

В запросе выбора вам нужно выбрать все столбцы с недействительными значениями AccountReport, поскольку запрос выбора присваивается сущности AccountReport.

ответил(а) 2016-11-29T14:14:00+03:00 3 года, 10 месяцев назад
41

Это должно помочь при попытке получить данные, которые не привязаны к DBSet.

EF7 Извлечение динамических данных, не связанных с DBSet


Другой способ - написать LINQ, как это сделано здесь

Linq для извлечения динамических данных в EF7

ответил(а) 2015-12-04T16:13:00+03:00 4 года, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема