我有以下代码,它给出了新的ASP.NET MVC5标识中的id和名称列表:
var identityStore = new IdentityStore();
var users =
(
from user in identityStore.DbContext.Set<User>()
select new
{
id = user.Id,
name = user.UserName
}
);
我如何修改它以便它允许我检查UserName是否存在?
以下是用户类:
public class User : IUser
{
public User();
public User(string userName);
[Key]
public string Id { get; set; }
public virtual ICollection<UserLogin> Logins { get; set; }
public virtual UserManagement Management { get; set; }
public virtual ICollection<UserRole> Roles { get; set; }
public string UserName { get; set; }
}
答案 0 :(得分:1)
if(identityStore.DbContext.Set<User>().Any(u => UserName == "yourUserName"))
{
// user exists
}
else
{
// user does not exist
}
它是否符合您的要求?你的问题有点不清楚。
答案 1 :(得分:1)
如果符合您的要求,您可以使用where语句查询用户名,例如
var users = from user in identityStore.DbContext.Set<User>()
where user.UserName != null && !user.UserName.Equals(string.Empty)
select ...
无论如何,这个答案LINQ syntax where string value is not null or empty
可能是重复的string.IsNullOrEmpty仅在某些情况下有效,所以要小心!
或者,如果您只是寻找特定的用户名,只需查询它
var users = from user in identityStore.DbContext.Set<User>()
where user.UserName.Equals("whatever")
select ...