繁体   English   中英

Entity Framework Core 数据库优先选择特定列

[英]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 Core API。 在上面的函数中,我试图从数据库中检索特定的列,但不幸的是,当我运行代码时,响应正文从表中的所有列中获取数据。

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

结果

您可以改为返回匿名对象:

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

这应该只选择 -> 发送 2 列。

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

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();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM