もともと私はこの方法を持っていました:
public virtual User GetUser(string username)
{
return _db.Users.Single(x => x.UserName == username);
}
つまり、基本的には、ユーザーのユーザー名に基づいてユーザーを取得するlinqメソッドです。
問題は、ユーザー名の先頭に大文字が含まれていることがあるため、常に機能するとは限らないことです。
それで私は思いついた:
public virtual User GetUser(string username)
{
return _db.Users.Single(x => (string.Compare(x.UserName, username, true) == 0));
}
これは機能します。しかし、私はこれが文字列を実行するのに本当に非効率的であるに違いないと思います。ユーザーと比較しますか?
string.Compareなしでこれを書くためのより良い方法はありますか?