实体框架将原始 SQL 查询绑定到模型类

Maz*_*zas 4 c# entity-framework

我得到了开发足球桌管理系统的任务。我决定使用 asp.net mvc 来做。唯一的要求是使用原始 SQL 查询。所以这意味着我不能使用 linq 或 lambda。我想做这样的事情:

using (var context = new FootballTableContext())
{
     var players = context.Database.SqlQuery<PlayerViewModel>("SELECT Vardas, Pavarde FROM ZAIDEJAS").ToList();
}
Run Code Online (Sandbox Code Playgroud)

但执行此代码后,我得到的名单PlayerViewModelnull价值观。

视图模型类:

public class PlayerViewModel
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

上下文类:

public class FootballTableContext : DbContext
{
    public FootballTableContext() : base("DefaultConnection") { }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是如何将该查询绑定到我的 ViewModel?

Cod*_*shi 7

像这样做:

var players = dbContext.Database
    .SqlQuery<PlayerViewModel>("SELECT Vardas as FirstName, Pavarde as LastName FROM ZAIDEJAS")
    .ToList<PlayerViewModel>();
Run Code Online (Sandbox Code Playgroud)

它被称为非实体类型的 SQL 查询