Связывание переменных SQL с переменными класса модели MVC в проекте MVC
У меня есть проект MVC, в котором я динамически генерирую выпадающий список из SQL. Теперь, когда SQL возвращает переменные, он сопоставляет их с моделью mvc для сопоставления с переменными. но нужны только три модельные переменные. но это показывает, что все переменные модели должны соответствовать переменной SQL. похоже, что это строго типизированная модель. он запрашивает все переменные модели, где мне нужно только несколько переменных из модели, чтобы соответствовать SQL-запросу. Пожалуйста помогите как можно скорее
Что я уже пробовал:
я пытался изменить модели, а также SQL-запрос, но все напрасно
Wastedtalent
Без кода трудно полностью понять вашу проблему, но я бы предположил, что вам может понадобиться модель для вашего SQL и модель для вашего представления, а также сервис, который сопоставляет их между собой.
Rakshanda_khan
использование системы;
использование системы.Коллекции.Общий;
использование System.Linq;
использование системы.Сеть;
вход в пространство имен.Модели
{
таблица дат публичного класса
{
public string ExamName { get; внутренний набор; }
public long Id { get; set; }
public string Name { get; set; }
общественные строку от { получить; набор; }
публичная строка MaxMarks { get; set; }
публичная строка MinMarks { get; set; }
публичная строка из { get; set; }
общественные строку { получить; набор; }
открытый строковый тип { get; set; }
}
}
Rakshanda_khan
это моя модель. из sql-запроса мне нужно только имя и идентификатор этого проекта. Но при загрузке он просит, чтобы все переменные модели были возвращены из sql
Rakshanda_khan
sql запрос выглядит следующим образом:
выбрать код , наименование из tbl_abcd
Теперь, когда этот идентификатор и имя сопоставляются с приведенной выше моделью, он запрашивает все остальные переменные этой модели. что-то вроде строго типизированного
Rakshanda_khan
ошибка на моем экране такова
считыватель данных несовместим с указанным "логином".Модели.Datesheet'. Член типа "MaxMarks" не имеет соответствующего столбца в считывателе данных с тем же именем
Wastedtalent
Если вам не нужны все эти поля, зачем их иметь, иначе создайте новую модель, которая имеет только те поля, которые вам нужны, и используйте ее для этой цели, вы можете даже использовать в качестве базы и расширить, например (я предположил, что это имя для студента, но я понятия не имею, поэтому измените соответственно):
ученик открытый класс
{
public string Name { get; внутренний набор; }
public long Id { get; set; }
}
расписание открытых занятий : студент
{
публичная строка ExamName { get; set; }
общественные строку от { получить; набор; }
публичная строка MaxMarks { get; set; }
публичная строка MinMarks { get; set; }
публичная строка из { get; set; }
общественные строку { получить; набор; }
открытый строковый тип { get; set; }
}
И карта запроса SQL для студента объект.
Rakshanda_khan
но вчера я работал нормально. он успешно возвращал только соответствующие переменные. тогда я не знаю, какая функция visual studio была обновлена, а потом все пошло не так. до этого он отображал только идеально соответствующие переменные
Rakshanda_khan
пожалуйста, проверьте мои остальные ответы
Rakshanda_khan
если ваш последний комментарий имеет место, то мне придется внести изменения во весь проект. что и раньше прекрасно работало. Это очень проблематично для меня в данный момент. можете ли вы сказать мне, что может вызвать эту ситуацию?
Wastedtalent
Каков полный код для того места, где вы выполняете SQL-запрос?
Wastedtalent
Запрос должен соответствовать сущности, в качестве альтернативы просто сделайте это
выберите * из tbl_abcd
Rakshanda_khan
в двух словах, мне нужен способ, при котором я могу сопоставить только несколько переменных модели с возвращаемыми переменными SQL, даже если модель mvc содержит больше переменных
Rakshanda_khan
публичный список<selectlistitem> GetCources()
{
var res = from item in GetstuCources.Методом asenumerable()
выберите новый экзамен { Id = item.Код, Наименование = элемента.Имя };
Список<datesheet> drplist = res.Список();
List<selectlistitem> itms = новый список<selectlistitem>();
itms = drplist.ToSelectList(м =&ГТ; м. Имя, м =&ГТ; м. ИД.Метод toString(), "0", "выбор курса", правда);
верните itms;
}
public IEnumerable<datesheet> GetstuCources
{
получить
{
IEnumerable<datesheet> size = база данных.SqlQuery<datesheet>("exec ANDROID.ash_Course_View");
возвращаемый размер;
}
}
Rakshanda_khan
это то, что .чистая Framework вопрос???
#realJSOP
Затем вам нужно либо а) создать другую модель только с теми полями, которые вам нужны, либо б) создать базовую модель, которая включает только те поля, которые вам нужны, и вывести из нее другую модель для использования в другом месте.