Rakshanda_khan Ответов: 0

Связывание переменных 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

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

0 Ответов