我陷入了尝试为给定用户名生成密码的情况。
我通过用户的姓氏+名字的第一个字母,通过名字和姓氏的文本框从用户的输入中创建用户名。例如,如果用户的名字是“Ronald”,姓氏是“Test”,我将数据库中的用户名添加为“Testr”。但是,如果我有另一个用户的相同姓氏并且名字以与数据库中现有用户相同的名字开头,我会像这样添加名字的前 2 个字母 -
if (entities.Users.Any(a => a.LastName == tbLname.Text && a.FirstName.StartsWith(fname)))
username = (tbLname.Text + tbFname.Text.Substring(0,2)).ToLower();
现在的问题是,这仅在前 2 个字母与名字匹配时才有效。如果我有 3 个甚至 4 个匹配名字怎么办?我不知道如何检查剩余的字符是否具有唯一的用户名。
关于如何实现这一目标的任何想法?提前致谢。