在LINQ查询中获取sqlite错误

时间:2017-12-07 12:14:26

标签: c# linq sqlite xamarin

我正在尝试在sqlite中进行登录查询,但无法转换AsyncTableQuery中的boolean

public bool queryLogIn(string userNameLogIn,string passwordLogIn)
{
    var query=database.Table<Users>().Where(i => i.UserName == userNameLogIn && i.Password == passwordLogIn);

    if (query == true)//There is error
    {
        return true;
    }
    else
    {
        return false;
    }                
}

2 个答案:

答案 0 :(得分:1)

Where会返回iqueryable Users。您需要Any而不是确定序列的任何元素是否满足条件,并且因为它的返回类型是bool,您可以在if语句中使用它:

var query=database.Table<Users>().Any(i => i.UserName == userNameLogIn
                                           && i.Password == passwordLogIn);

编辑:或者在Any中使用if

var query=database.Table<Users>().Where(i => i.UserName == userNameLogIn 
                                             && i.Password == passwordLogIn);
if (query.Any())
{
    return true;
}

答案 1 :(得分:1)

您可以使用FirstOrDefault功能登录成功。

{{1}}