Сборка проекта C # Entity Framework 6, но данные не отображаются из базы данных - PullRequest
0 голосов
/ 19 апреля 2019

Новое в Entity Framework, но я пытаюсь вывести своего работодателя в 20-й век. Здесь проблема. У нас есть сторонний продукт, который мы используем для большинства видов деятельности нашей организации. Нам не разрешено вносить какие-либо изменения в их БД. Мы поддерживаем вторую базу данных, в которую мы помещаем любой код дома для запуска их таблиц (только выбор)

У нас есть ночной отчет, который запускается как задание из второй базы данных, который извлекает информацию из базы данных третьей стороны, форматирует ее в excel (вроде как в любом случае) и затем отправляет ее нужным пользователям.

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

После долгих исследований, кажется, не так много примеров того, как база данных сначала реализовывала Entity Frameworks, подключаясь к хранимой процедуре в качестве ее источника. Испытав то, что я смог найти, я довел проект до такой степени, что он собирался и работал, но на сгенерированной странице не было никаких данных. Я знаю, что страница работала, потому что макет и другие элементы на странице присутствуют. Я решил, что умное мышление не работает, поэтому пришло время думать глупо.

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

Задание SQL генерирует данные при запуске из внешней базы данных, новое представление генерирует данные в SQL Manager, когда я запрашиваю его. Проект может видеть схему представления, когда я настраиваю его в проекте. Проект создается и запускается, но данные не отображаются или не отображаются.

Может ли кто-нибудь указать мне, что я могу проверить, чтобы понять, что происходит не так? Заранее спасибо.

Код добавлен для каждого запроса (для краткости использование удалено)

namespace MissingMinutes.Domain.Concrete {

public class EFDbContext : DbContext {
    public DbSet<MissingMinuteInstance> MMInstances { get; set; }
    }
}



namespace MissingMinutes.Domain.Concrete {

    public class EFReportRepository : IOdysseyRepository {
    private EFDbContext context = new EFDbContext();

    public IQueryable<MissingMinuteInstance> MMInstances {
        get { return context.MMInstances; }
    }    
    }
}


namespace MissingMinutes.WebUI.Controllers {
public class ReportController : Controller {
    private IOdysseyRepository repository;

    public ReportController(IOdysseyRepository odysseyRepository) {
        this.repository = odysseyRepository;
    }

    public ViewResult List() {
        return View(repository.MMInstances);
    }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...