Entity Framework 核心数据库-首先选择特定的列

Entity Framework Core database-first selecting specific columns

    public Tbl016 CheckLoginCredentials(string UserName, string Password)
    {
        return
            context.Agents
            .Where(x => x.LoginName == UserName && x.LoginPassword == Password)
            .Select(x => new Tbl016
            {
                LoginName = x.LoginName,
                LoginPassword = x.LoginPassword
            })
            .FirstOrDefault();
    }

我正在使用数据库优先方法和存储库设计模式开发 Entity Framework 核心 API。在上面的函数中,我试图从数据库中检索特定的列,但不幸的是,当我 运行 代码时,响应主体从 table.[=14= 中的所有列中获取数据]

到目前为止我已经尝试过 .Select new 表达式,但它不起作用。

您可以 return 匿名对象:

.Select(x => new {
    x.LoginName,
    x.LoginPassword
}).FirstOrDefault();

这应该只 select -> 发送 2 列。

感谢@mxmissile 问题已解决 我将方法的 return 类型更改为动态而不是(table 的对象)。然后我在 .Select() 方法中匿名 returned 数据 完整代码为:

public dynamic CheckLoginCredentials(string UserName, string Password)
{
    return context.Agents
        .Where(x => x.LoginName == UserName && x.LoginPassword == Password)
        .Select(x => new {
            x.LoginName,
            x.LoginPassword
        })
        .FirstOrDefault();
}