[英]Multiple Method Parameters for Role Selection Recommendations
我目前的方法:
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>();
}
}
我希望能夠執行GetListByRole("Admin", "User")
或GetListByRole("Admin")
。
構造方法參數的最佳方法是什么? 我是否使用字符串[]? 如果是這樣,我將如何更改LINQ查詢?
謝謝!
您可以使用Contains
方法:
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>();
}
}
params keyword
允許您傳遞角色名稱而無需顯式創建數組。但是您應該意識到,它還允許您傳遞0
參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.