C# Asp MVC实体框架检查权限是否在角色中
我有以下模型,我需要一个方法来检查权限是否在角色中。目前,我正在使用IsPermissionInRole方法实现此功能,该方法执行for循环:C# Asp MVC实体框架检查权限是否在角色中,c#,asp.net-mvc,entity-framework,linq,oop,C#,Asp.net Mvc,Entity Framework,Linq,Oop,我有以下模型,我需要一个方法来检查权限是否在角色中。目前,我正在使用IsPermissionInRole方法实现此功能,该方法执行for循环: public class ApplicationRole : IdentityRole { public ApplicationRole() : base() { } public ApplicationRole(string name) : base(name) { } public virtual ICollection&l
public class ApplicationRole : IdentityRole
{
public ApplicationRole() : base() { }
public ApplicationRole(string name) : base(name) { }
public virtual ICollection<Permission> Permissions { get; set; }
public bool IsPermissionInRole(string _permission)
{
bool _retVal = false;
try
{
foreach (Permission _perm in Permissions)
{
if (_perm.Name == _permission)
{
_retVal = true;
break;
}
}
}
catch (Exception)
{
}
return _retVal;
}
}
公共类应用程序角色:IdentityRole
{
公共应用程序角色():基(){}
公共应用程序角色(字符串名称):基(名称){}
公共虚拟ICollection权限{get;set;}
公共bool IsPermissionInRole(字符串\u权限)
{
bool _retVal=false;
尝试
{
foreach(权限_permin Permissions)
{
如果(\u perm.Name==\u权限)
{
_retVal=true;
打破
}
}
}
捕获(例外)
{
}
返回_retVal;
}
}
是否有一种更优雅的方法可以做到这一点,也许可以使用一些linq查询?您可以使用以下方法: 或者更简单
public bool IsPermissionInRole(string _permission)
{
return Permissions.Any(p => p.Name == _permission);
}
public bool IsPermissionInRole(string _permission)
{
return Permissions.Any(p => p.Name == _permission);
}