Я новичок в ASPNET и MVC 4, поэтому я думаю, что это может быть непростым вопросом. Однако я не смог правильно ответить Google. Я просто хотел бы отобразить некоторую информацию о продажах - мне нужен только . Мне не нужно вставлять, обновлять или удалять из базовых таблиц.Entity Framework - создать модель с точки зрения?
Существует 3 таблицы SQL Server, из которых необходимо извлечь данные: CurrentSales, SalesPlans и AverageSales. Я создал VIEW для этого и поместил на него уникальный кластеризованный индекс; он содержит некоторые внешние соединения, но имеет логику для обработки любых маловероятных значений NULL.
Я иду в MODELS, добавляю новую модель данных сущности ADO.NET и добавляю свое представление к модели. Он возвращается и говорит «В таблице/представлении« vw_FullView »не указан первичный ключ. Ключ был выведен, и определение было создано как таблица/представление только для чтения». Когда я создаю класс Controller из этой модели и объекта, в представлении не отображаются данные при загрузке веб-сайта.
Однако, если я создаю полностью пустую таблицу - с соответствующим первичным ключом, которая действует как таблица модели, то затем использует хранимую процедуру (как функцию импорта) для получения необходимых данных, все работает полностью хорошо.
Это, очевидно, не может быть правильным способом справиться с этим. Есть ли способ создать сильно типизированную модель из представления? Я предпочел бы, чтобы объекты Controller и View в ASP.NET правильно автоматически генерировались из представления SQL в модели, а не нуждались в том, чтобы эта пустая таблица «обманула» систему.
Большое спасибо заранее.
Покажите нам действие и представление (cshtml) для этого: «Когда я создаю класс контроллера из этой модели и объекта, представление не отображает данные при загрузке веб-сайт." – AaronLS
Aaron - Я дважды проверял, и кажется, что я действительно могу получить доступ к объекту модели с готовым к SQL-представлению в моем представлении MVC, но он не приходит в чистоту и не форматирует красиво. Я собираюсь пойти с одним из нижеперечисленных решений и перекодировать. Благодаря! – Skkra