Я получил задание разработать систему управления футбольным столом. Я решил сделать это с помощью asp.net mvc. Единственное требование - использовать необработанные SQL-запросы. Поэтому я не могу использовать linq или лямбда. Я хотел бы сделать что-то вроде этого:
using (var context = new FootballTableContext())
{
var players = context.Database.SqlQuery<PlayerViewModel>("SELECT Vardas, Pavarde FROM ZAIDEJAS").ToList();
}
но после выполнения этого кода, я получаю список PlayerViewModel
с null
значениями.
Класс ViewModel:
public class PlayerViewModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
Класс контекста:
public class FootballTableContext : DbContext
{
public FootballTableContext() : base("DefaultConnection") { }
}
Итак, мой вопрос заключается в том, как связать этот запрос с моей ViewModel?
Сделай это так:
var players = dbContext.Database
.SqlQuery<PlayerViewModel>("SELECT Vardas as FirstName, Pavarde as LastName FROM ZAIDEJAS")
.ToList<PlayerViewModel>();
Он известен как SQL-запросы для не-сущностей.
The type arguments for method 'Database.SqlQuery<TElement>(string, params object[])' cannot be inferred from the usage. Try specifying the type arguments explicitly.
ToList()
если указаны имена столбцов. Я думаю, вы можете проверить оба способа и дайте мне знать.