Внутреннее объединение с использованием SqlQuery с Entity Framework в веб-приложении ASP.NET MVC - PullRequest
0 голосов
/ 07 октября 2018
var getdata = (DB.books.SqlQuery("select * 
                                  from book 
                                  inner join allclass on allclass.id = book.class_id_fk
                                  inner join universty on universty.id = allclass.universty_id_fk")
              ).ToList();

Я хочу выполнить этот запрос SQL для объединения данных таблицы в Entity Framework - как я могу это сделать?

Другой способ сделать это с помощью запроса linq, но я хочу получить данные с помощью запроса SQLиспользуя Entity Framework

1 Ответ

0 голосов
/ 08 октября 2018

Вы не можете использовать DB.books, если результат запроса не относится к типу книг.Вместо этого вы должны использовать класс DB.Database, когда возвращаемый тип необработанного sql не относится к какому-либо типу сущности из базы данных.

Выполните следующие действия:

1) Создайте модель, которая соответствует вашему списку выходных столбцов, как показано ниже.

public class MyModel
{
    public string Column1{ get; set; }
    public decimal Column2{ get; set; }
    ...
}

2) Измените запрос, как показано ниже.

var getdata = (DB.Database.SqlQuery<List<MyModel>>("select Column1,Column2.. //List all the columns instead of using * 
                                  from book 
                                  inner join allclass on allclass.id = book.class_id_fk
                                  inner join universty on universty.id = allclass.universty_id_fk")
              );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...