如何从dbcontext中使用字符串参数查找对象,而不是使用查找(主键)函数

时间:2013-07-16 17:08:19

标签: c# asp.net-mvc entity-framework dbcontext

是的,context.Accounts.Find(id)其中id是主键,它确实为我带来了正确的帐户。 但我想从context.Accounts搜索字符串用户名,而不是主键。

更确切地说,方法:

public void Authenticate(string username, password)
{       result = false;
        Accounts test = new Accounts();
        test.User = username;
        Accounts dbEntry = new Accounts();
        dbEntry = context.Accounts_.Find(test.User);

        if (dbEntry.Password == password)
            if(dbEntry.Admin == 1)
              result = true;
        return result;
    }

所以用户名不再是主键,如何在没有Find()函数的情况下找到合适的用户名?

1 个答案:

答案 0 :(得分:3)

替换

    Accounts test = new Accounts();
    test.User = username;
    Accounts dbEntry = new Accounts();
    dbEntry = context.Accounts_.Find(test.User); 

var dbEntry = context.Accounts_.FirstOrDefault(acc => acc.username == username);

或在您的帐户_

中调用'用户名'