C# 角色选择建议的多个方法参数
我目前的方法是:C# 角色选择建议的多个方法参数,c#,linq,entity-framework,C#,Linq,Entity Framework,我目前的方法是: public static IEnumerable<ApplicationUser> GetListByRole(string role) { using (AppDbContext db = new AppDbContext()) { return db.Users.Where(u => u.Roles.Any(r => r.Role.Name == role) &&
public static IEnumerable<ApplicationUser> GetListByRole(string role)
{
using (AppDbContext db = new AppDbContext())
{
return db.Users.Where(u => u.Roles.Any(r => r.Role.Name == role) && u.DateDeleted == null).ToList<ApplicationUser>();
}
}
公共静态IEnumerable GetListByRole(字符串角色)
{
使用(AppDbContext db=new AppDbContext())
{
返回db.Users.Where(u=>u.Roles.Any(r=>r.Role.Name==Role)和&u.DateDeleted==null.ToList();
}
}
我希望能够做GetListByRole(“Admin”,“User”)
或GetListByRole(“Admin”)
构造方法参数的最佳方法是什么?我是否使用字符串[]?如果是这样,我将如何更改LINQ查询
谢谢 您可以使用
包含方法:
public static IEnumerable<ApplicationUser> GetListByRole(params string[] roles)
{
using (AppDbContext db = new AppDbContext())
{
return db.Users
.Where(u => roles.Contains(u.Role.Name) &&
u.DateDeleted == null)
.ToList<ApplicationUser>();
}
}
public static IEnumerable允许您在不显式创建数组的情况下传递角色名称。但是您应该知道,它还允许您传递0
参数..谢谢!“params”关键字是什么意思。在我上面的示例中,u.Roles是一个ICollection,您使用它就像使用单个对象一样。有什么想法吗?